vba裏技,技,論理 - 画面移動(スクロール)

上に1セル分移動させるには

ActiveWindow.SmallScroll Up:=-1

または

ActiveWindow.ScrollRow = 1

左に3セル分移動は

Activewindow.scroll. ToLeft:=-3

または

Activewindow.ScrollColumn = 3

3行目を一番上に来させるには

ActiveWindow.ScrollRow = 3

5列目を一番左に持ってくるには

ActiveWindow.ScrollColumn = 5

選択されているセルを左上に持ってくるには

Application.Goto Selection, True

「D3」セルを左上は

Application.Goto Range(“D3”), True

「名前」と書いてあるセルを左上に持って来るのは

Application.Goto Cells.Find(“名前”), True

次の例は上記のコーディングを利用して会社名を探す方法である。

Sheets(“アルファベット表”).Select

v頭文字連番=InputBox(“会社名の頭文字の前の連番を入力して下さい”)

v頭文字=Cells.Find(v頭文字連番).Next.Value

Sheets(“顧客リスト”).Select

Cells.Find(“頭文字”).EntireColumn.Find(v頭文字).Select

r = Selection.Row

ActiveWindow.ScrollRow = r

下へ行く:

v連番 = InputBox(“お探しの会社名が見えましたか” & Chr(10) & Chr(10) & “見えたら 前の連番” & Chr(10) & “見えなければ 0” & Chr(10) & Chr(10) & “を入力して下さい”)

If v連番 = 0 Then

ActiveWindow.SmallScroll Up:=-20

GoTo 下へ行く

End If

v会社名 = Cells.Find(“連番”).EntireColumn.Find(v連番).Offset(, 2).Value

アルファベット表のシートから前以て頭文字をユーザーに選択してもらっておく。それは前にも書いたが、あいうえお順に表にしたものを作って置き、探す会社の頭文字の前に通し連番を打っておき該当する連番を入力させて、会社名の頭文字を特定する。

アルファベット表では「あ」から始まり「わ」、それに数字とアルファベットを加えておくと便利だ。

それでユーザーが選んだアルファベットかあいうえおの頭文字が特定された。別表の顧客リストにも通し連番が頭文字の前に打っておき、その横は頭文字としておく。

兎に角ユーザーにはできるだけ親切に入力し易いようにプログラムしなければならない。往々にしてプログラマーのやり易いようにプログラムを構築する例があるようだが、それだとユーザーは使わなくなる。プログラムを組む意味がない。

酒巻 修平

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です