Hiko.Blog Excel VBA活用術

「Excel VBAで仕事を効率化!初心者でもできる自動化のコツ」

MENU

VBA

KEY比較処理

VBA

Sub CompareAndCopy_Fast_WithInitialFolder() Dim refWorkbook As Workbook Dim refSheet As Worksheet Dim activeSheet As Worksheet Dim refData As Variant, activeData As Variant Dim dict As Object Dim lastRowRef As Long, lastRowActive As Long D…

指定したフォルダにあるExcelファイルまたはCSVファイルを取り込む

VBA

Sub SelectFilesAndImport() Dim fd As FileDialog Dim selectedFile As Variant Dim importSheet As Worksheet Dim wb As Workbook Dim ws As Worksheet Dim lastRow As Long ' Acrobat用 Dim AcroApp As Object, AcroAVDoc As Object, AcroPDDoc As Object…

過去日付ファイルを移動するVBA

VBA

Sub MoveOldFilesByDateInFileName() 'Microsoft VBScript Regular Expressions 5.5 ' ★★★ここを実際のフォルダパスに変更してください★★★Const SOURCE_FOLDER = "C:\移動元フォルダ" ' ★ここを実際の移動元フォルダのパスに変更してくださいConst DEST_FOLD…

シート転記(■印含むファイル名の転記)

VBA

Sub CopySheetsWithSquareMarker() Dim ws As Worksheet ' 現在のブックの各シートを指す変数 Dim destWorkbook As Workbook ' 転記先のExcelブックを指す変数 Dim filePath As Variant ' ファイルパスを格納する変数 Dim found As Range ' 検索結果を格納す…

Excelsheet選択(複数sheet時の選択簡易化)

VBA

Sub ShowSheetSelector()' UserForm1.Show ' UserForm1 は、作成したユーザーフォームの名前です。End Sub ' UserForm1 のコードモジュールに記述Private Sub UserForm_Initialize() ' ユーザーフォームが初期化されるときに実行されます Dim ws As Workshee…

共通列自動検出して統合保存

VBA

先生:今日はな、このマクロは「いろんなExcelファイルの中のシートを見てな、みんなに共通してある列(ヘッダー)だけを集めて、ひとつにまとめて新しいファイルに保存する」っていう便利なやつや。 生徒:へぇ〜!共通の列だけってどうやってわかるん? 先生…

Excelシートを転記して新規保存

VBA

先生:今日はな、「A」「B」「C」って3つのシートを、テンプレートにうつして、新しい名前つけて保存するマクロを教えるで。 生徒:テンプレートってなんやの? 先生:かんたんに言うたら、「キレイに整えてあるファイル」やな。見た目がそろってて、そこに…

2つのテキストボックスに書いてある文章を比較

VBA

先生:「今日はな、『2つのテキストボックスに書いてある文章』を比べて、違うところだけSheet1に書き出すプログラムを教えるわ。」 生徒:「違うところって?どんな感じ?」 先生:「たとえば、テキスト ボックス 1 に『おはよう』『こんにちは』ってあって…

シート2のA列とC列にある言葉(コード)比較

VBA

先生:「今日はな、シート2のA列とC列にある言葉(コード)を比べて、ちゃうもんを探すプログラムを作ったんや。」 生徒:「ちゃうもん?どゆこと?」 先生:「例えばな、A列に『りんご』って書いてあって、C列には『みかん』が書いてある。もし『りんご』が…

すべて文字列として取り込む

生徒「せんせー、このプログラムってなにしてんの?」 先生「これはな、“Template”いう名前のシートをまるごとコピーして、“DataSheet”って名前の新しいシートを作るねん。」 生徒「コピーしたら、元のシートとまったく同じなん?」 先生「そうやで。見た目…

文字列のCheck

VBA

先生:このマクロな、「A列に ABC がある」「C列が 0 や」「G列に NDEF がある」かを調べるやつやで。 生徒:なんで配列使ってんの? 先生:ええ質問やな!配列使うと、まとめてデータ読み込んで、まとめて処理できるからめっちゃ速いんや。1個ずつ見てたら…

A1セル値チェックしてC1に書き込み

VBA

生徒:先生、このコードって何してるん?先生:A1のセルに「対象1」か「対象2」って書いてあるか見てるねん。生徒:で、書いてあったらどうなんの?先生:「対象1」って書いてあったら、C1に「置換文字1」って書く。先生:「対象2」やったら、「置換文字2」…

「ソート解除後のデータ削除

VBA

先生: 「このコードはな、Excelでソート(並び替え)を元に戻してから、データを消すっていう処理をしてるんや。」 生徒: 「ふむふむ、並び替えを元に戻す?それってどういうこと?」 先生: 「たとえばな、表の中で“名前をあいうえお順に並べる”みたいなこと…

差分をチェックして書き込み

VBA

先生: 「このコードは、Excelのシートで、C列の値とその行の一番右にある値を比べて、その差を表示するものなんや。」 生徒: 「ふむふむ、それってどういうこと?」 先生: 「たとえばC列に“予定の数値”、右の方に“実際の数値”があるとするやろ?それを比べて…

集計結果作成

VBA

先生: 「このコードは、指定したフォルダ内のExcelファイルから、データを集めて、新しいExcelファイルを作成するものなんや。」 生徒: 「ふむふむ、それってどういうこと?」 先生: 「まず最初に、どのフォルダからデータを集めるかを選ぶ画面が出てくるん…

シート名検索して転記

VBA

生徒: 先生、このコードは何をしてるんですか? 先生: このコードは、あるシートにあるデータの中から、「●」って印がついてる行だけを取り出して、それを別のひな形のブックに転記するんやで。 生徒: なるほど、でも「●」印をどうやって探すんですか? 先生…

シートの転記

VBA

生徒:先生、このコードは何をしてるんですか?先生:このコードは、シート1のA列、B列、D列、F列、H列のデータを取り出して、それをシート2に転記するものやで。 生徒:どうやってデータを取り出してるんですか?先生:まず、シート1の最後の行を確認して、…

グラフのデータ抽出

VBA

生徒:先生、このコードは何してるんですか? 先生:このコードは、アクティブなグラフからデータを取り出して、別のシート「Data」にそのデータを転送するものやで。 生徒:グラフからデータを取り出すって、具体的にはどうやってるんですか? 先生:まず、…

コメントを追加する

VBA

生徒:先生、このコードって何してるんですか? 先生:A列にある数値を見て、それに応じてC列にコメントを追加するコードやで。数値がプラスやったら「増加+」、マイナスやったら「減少▲」、ゼロやったら「変化なし」って表示されるんや。 生徒:あー、なる…

条件による転記作業

VBA

生徒:先生、このコードは何をしてるんですか? 先生:このコードは、「Data」シートからZ列に「●●●」が含まれてる行を探して、そのデータを「転記結果」シートに転記するものやで。 生徒:Z列に「●●●」がある行って、どうやって探すんですか? 先生:InStr…

2つのsheet比較と色付け 合計追加版

VBA

生徒:先生、このコードは何をしてるんですか? 先生:このコードは、2つのシート(「前回」シートと「今回」シート)を比較して、どこが変わったかを「比較結果」シートに出力してるんや。 生徒:どうやって比較してるんですか? 先生:2つのシートのデータ…

C列のデータを基にD列を更新

VBA

生徒:先生、このコードは何をしてるんですか? 先生:このコードは、C列にあるデータを元に、D列を自動で更新するもんや。C列のデータの最初の3文字を見て、それに応じてD列の値を変えるんや。 生徒:C列のデータのどんな部分を見てるんですか? 先生:C列…

バックグラウンドでの列削除処理

VBA

生徒:先生、このコードは何してるんですか? 先生:このコードは、Excelをバックグラウンドで操作して、特定の列(AA列、AC列、AD列)を削除する処理やな。 生徒:バックグラウンドでってことは、Excelの画面には表示されないってことですか? 先生:その通…

バックグラウンドでの行削除処理

VBA

生徒:先生、このコードは何をしてるんですか? 先生:このコードは、Excelをバックグラウンドで使って、3000行目以降に設定された「条件付き書式」と「データ入力規則」を削除する処理やな。 生徒:バックグラウンドでって、どういう意味ですか? 先生:Exc…

不要行列の削除方法 色々

VBA

生徒:先生、これらのコードってどういうことをしてるんですか? 先生:うん、それぞれがExcelのシートの整理をするための処理やな。 生徒:最初の「3000行以下削除」って、どんなことをしてるんですか? 先生:これは、Excelのシートで、3000行目より後ろに…

ファイル統合

VBA

生徒:先生、これは何をしてるコードなんですか? 先生:これは、指定したフォルダ内にある複数のExcelファイルを一つにまとめる処理やな。ファイルを全部開いてデータを集めて、ひとつのファイルに統合するんやで。 生徒:どうやってファイルを探すんですか…

セル値を 文字列として変換

VBA

生徒:先生、これ何をしてるコードなんですか? 先生:これは、選んだセル範囲内のデータを文字列として扱うように変換する処理やで。 生徒:文字列として扱うってどういうことですか? 先生:例えば、数字が入ってるセルでも、その数字を文字列として扱うよ…

Access 汎用的な関数

生徒:先生、Nz関数ってなんですか? 先生:Nz関数は、Null値(空の値)を他の値に置き換える関数やで。例えば、Nz([Amount], 0)って書くと、もし[Amount]がNullなら0を返すんや。 生徒:なるほど!次に、DateAdd関数って何ですか? 先生:DateAdd関数は、日…

フォルダー選択

VBA

生徒:先生、フォルダー選択のコードって何ですか? 先生:これは、フォルダーを選ぶためのダイアログを表示するコードやで。ユーザーがフォルダーを選んだら、そのパスを取得するんや。 生徒:どんな仕組みになってるんですか? 先生:まず、FileDialogって…

複数条件でデータを検索して抽出する

VBA

生徒:先生、このコードは何してるんですか? 先生:これは、複数のExcelファイルから特定の条件に合ったデータを検索して、新しいファイルに結果を保存するコードやで。 生徒:複数条件でデータを検索するって、どういうことですか? 先生:指定した2つの条…