データの整理で、Excel を使って、別のシートからのデータをコピペする作業がある。毎回決まった位置に目視で確認しながらマウス操作で選択していたが、この頭出しをVBA で実現した。
利用する言語
Visual Basic for Applications (VBA)
実装したい内容
決まったシートから順番に、指定したセルの位置を選択状態にしたい
スクリプト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Option Explicit ' スリープを使う Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '初期設定 Dim ij As Integer 'セル頭出し関数実行 Sub F1st() Call FocusCell("C86") End Sub Sub F2nd() Call FocusCell("C117") End Sub Sub F3rd() Call FocusCell("C146") End Sub ' セル頭出し、シートを順番に選択して、指定されたセルを選択状態にする Function FocusCell(ByVal tCell As String) For ij = 4 To Sheets.Count Sheets(Sheets(ij).Name).Select Sleep 50 Range(tCell).Activate Sleep 50 Next ' 先頭のセルを再び選択 Sheets(Sheets(4).Name).Select End Function |
内容
- セル頭出し関数F1st() などで、選択するセルの位置を指定
- FocusCell() でシート4から順番にシートを選択して、指定されたセルを選択する