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
アルファベット表のシートから前以て頭文字をユーザーに選択してもらっておく。それは前にも書いたが、あいうえお順に表にしたものを作って置き、探す会社の頭文字の前に通し連番を打っておき該当する連番を入力させて、会社名の頭文字を特定する。
アルファベット表では「あ」から始まり「わ」、それに数字とアルファベットを加えておくと便利だ。
それでユーザーが選んだアルファベットかあいうえおの頭文字が特定された。別表の顧客リストにも通し連番が頭文字の前に打っておき、その横は頭文字としておく。
兎に角ユーザーにはできるだけ親切に入力し易いようにプログラムしなければならない。往々にしてプログラマーのやり易いようにプログラムを構築する例があるようだが、それだとユーザーは使わなくなる。プログラムを組む意味がない。
酒巻 修平