Excelでアンケートやデータの入力をしている時に、せっかく入力したのに、保存する前にExcelが「応答なし」状態になり今までの作業が水の泡になったことがあります。
そうならないように、VBAで特定の列のセルがアクティブになったら自動的に保存する仕組みを作っています。
下図は、Excel2016です。
< スポンサーリンク >
例
F列のセルがアクティブになったら、自動的に保存するようにします。
セル選択後に処理ができる「SelectionChange」と、列番号を取得する「Column」と、上書き保存の「Save」を使います。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
‘セル移動後の列が6だったら
If Target.Column = 6 Then
‘保存する
ThisWorkbook.Save
End If
End Sub
保存時にバージョンが違う場合などに「互換性チェック」のメッセージが表示されるときは、「DisplayAlerts」を使うとメッセージは出なくなります。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
‘メッセージを出さない
Application.DisplayAlerts = False
‘セル移動後の列が6だったら
If Target.Column = 6 Then
‘保存する
ThisWorkbook.Save
End If
‘メッセージを出すように戻す
Application.DisplayAlerts = True
End Sub
この方法で、いつも入力作業をしています。
おかげで、「保存し忘れてデータがなくなった!」ということがなくなりました。
アンケートを入力し自動で保存できるようになったら、↓「こんなことが出来たらいいな」と思ったときの記事です。
Excelでアンケート入力を楽にする方法第2弾です!前回の記事はこちら↓ 自動保存で入力したデータが消えることはなくなったんですが、アンケートを入力する場合、紙で回収されているアンケートなので、紙が番号順に並んでいればい …
こんな記事も書いています