自動スクロール

Excelでアンケート入力を楽にする方法第2弾です!前回の記事はこちら↓

自動保存で入力したデータが消えることはなくなったんですが、アンケートを入力する場合、紙で回収されているアンケートなので、紙が番号順に並んでいればいいのですが、ランダムに並んでいると、あっちの行、こっちの行と行ったり来たりしないといけません。

それに検索結果の行は中央にくるので、入力ミスを防ぐために項目名のすぐ下に手動でスクロールするのも面倒。

検索結果やセルをアクティブにした時にその行が自動で一番上までスクロールする方法を記録します。

下図は、Excel2016、サンプルデータです。

< スポンサーリンク >





方法

項目名やNoなどを[ウィンドウ枠の固定]で固定しておきます。

ExcelVBA自動スクロール

 

入力項目の右のセル(例:8列目)に移動したら、自動で保存されるようにしておきます。(前回の記事と同じ内容)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.DisplayAlerts = False

    ‘保存
    If Target.Column = 8 Then
        ThisWorkbook.Save
    End If

    Application.DisplayAlerts = True
End Sub

ExcelVBA自動スクロール

ExcelVBA自動スクロール

 

Noの列(例:1列目)がアクティブになったら、その行が一番上にスクロールされるようにVBAを書きます。(ElseIf・・・の部分)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.DisplayAlerts = False

    ‘保存
    If Target.Column = 8 Then
        ThisWorkbook.Save
    ‘上へスクロール
    ElseIf Target.Column = 1 Then
        ActiveWindow.ScrollRow = ActiveCell.Row
    End If

    Application.DisplayAlerts = True
End Sub

ExcelVBA自動スクロール

ExcelVBA自動スクロール

 

これで、またかなり入力作業が楽になりました(^O^)

次は、Enter押下後、セル移動を右や下に変更するのクイックアクセスツールバーに登録して、簡単に切り替える方法です↓

 

< スポンサーリンク >