【Excel】コピペ作業を何度も再現させるシートの準備

目次

AUTO_OPEN() AUTO_CLOSE() を使って書式設定をする

マスター(原紙)を作成する

  • コピペする受け側のExcelシートの書式設定を「全体」をクリックし「文字列」指定
    • 全てのデータをテキストのまま受け取ることができExcelの自動変換を回避
    • 特に日付への自動変換が厄介で”/”や”-”そして”.”がある数値データは注意
  • AUTO_OPEN()で文字列設定
  • AUTO_CLOSE()で列の数値設定を再設定しなおす

AUTO_OPEN() のサンプル(全て文字列で受ける)

※以下は私が使っているそのままを参考として載せているので、自分の作業に合わせて作り直すこと。

Sub AUTO_OPEN()
'
' シートOPENはいつも実行する
'
Dim i As Integer
Dim sh_nm As String

For i = 1 To 12
    sh_nm = i & "R"
    Sheets(sh_nm).Select
    Columns("A:N").Select
    Selection.NumberFormatLocal = "@"
    Cells(1, 1).Select
    
    sh_nm = i & "RODDS"
    Sheets(sh_nm).Select
    Columns("A:N").Select
    Selection.NumberFormatLocal = "@"
    Cells(1, 1).Select
Next i

Sheets("MEMO").Select
Cells(1, 1).Select

End Sub

AUTO_CLOSE() のサンプル (DB投入用に日付など詳細設定)

Sub AUTO_CLOSE()
'
' シートCLOSE時はいつも実行する
'
    Sheets("表D").Select
    Columns("A:A").Select
    Selection.NumberFormatLocal = "yyyy/mm/dd"
    
    Range("B:B,F:I,K:S,W:W").Select
    Selection.NumberFormatLocal = "@"
    
    Range("C:E,U:U,V:V,X:X,AB:AD").Select
    Selection.NumberFormatLocal = "0_ "
    
    Range("J:J,T:T,Y:AA,AE:AG").Select
    Selection.NumberFormatLocal = "0.0_ "
    Cells(1, 1).Select
    
    Sheets("表H").Select
    Columns("A:A").Select
    Selection.NumberFormatLocal = "yyyy/mm/dd"
    
    Range("C:C,G:CU").Select
    Selection.NumberFormatLocal = "@"
    
    Range("B:B,D:F,L:L,Q:Q,S:S,Z:AH,AL:AP").Select
    Selection.NumberFormatLocal = "0_ "
    
    Range("AI:AK,AQ:AU,BB:BG,BN:BS,BW:BY,CC:CE,CI:CK,CV:DH").Select
    Selection.NumberFormatLocal = "#,##0_ "
    Cells(1, 1).Select
End Sub

AUTO_OPEN() を使わず表を開く

  • Excel起動
  • メニュー「開く」
  • 「ファイルを開く」ダイアログで、開きたいファイルを選択(ここで選択するだけ)
  • Shiftを押しながら「開く」

※昔はエクスプローラーからSHIFT+WクリックでOKだったが、今は上記方法が確実!

AUTO_OPEN() AUTO_CLOSE() の実行順

  • Workbook_Open → auto_open
  • Workbook_Close → auto_close

実行順を把握していないと動作しないマクロになってしまう。また AUTO_OPEN() AUTO_CLOSE() は自動実行されるので、書式設定程度の暴走してもよいマクロにしておくことが小さなコツと言えるかもしれない。

Excel VBA 逆引き大全 600の極意 Microsoft 365/Office 2021/2019/2016/2013対応

Excel VBA 逆引き大全 600の極意 Microsoft 365

※私が持っているのが2016年版(以下は2016)

  1. ExcelVBAの基本構文
  2. セルの操作
  3. 関数
  4. ワークシート、ウィンドウの操作
  5. ブック操作
  6. データ操作
  7. テーブル・ピボットテーブル
  8. 図形
  9. グラフ
  10. ユーザーフォーム
  11. 印刷
  12. ファイルとフォルダ
  13. データ連携
  14. イベント
  15. バージョン・トラブルシューティング・エラー処理
  16. 高度なテクニック
  17. 索引

目次が巻頭で検索が巻末。昔のタイプの本の構成だが、索引がページでなくTipsという見出しNo.になっていて慣れるまでは検索しづらい。
Amazonレビューは★3.9

私のKindle-Unlimited評価は★4

目次