【VBA】写真の撮影日取得を自動化!コピペで使える実用コード集
デジタル写真の整理で撮影日がわからなくて困る。。。
手作業で一枚ずつプロパティを確認するのは時間がかかりすぎて現実的ではありませんよね。
こんな問題は
『写真の撮影日を取得しリスト化するVBA』を設定する
ことで解決できます。
この記事では、エクセル業務でよく使われる実用的なコードを厳選して紹介。
コピペするだけで使える完成形のコードを掲載しているので、VBA初心者の方でも安心して扱えます。
さらに、
ファイル名の自動変更や撮影日順での整理、GPS情報の取得、など、
写真管理を完全自動化する応用テクニックまで網羅しています。
VBAを使って、手間と時間のかかる写真整理作業を自動化しちゃいましょう。
目次
【コピペOK】撮影日取得の実用コード集
VBAで写真の撮影日を取得する作業は、適切なコードを使えば驚くほど簡単になります。
- 手作業で画像のプロパティを確認する必要がない
- 数百枚の写真でも瞬時に撮影日を取得できる
- 取得した情報を一覧表に出力できる
実際に現場で使われている実用的なコード例をご紹介しますので、そのままコピーして使ってみてください。
これらのコードをマスターすれば、写真整理の作業効率が格段に向上するでしょう。
1枚の写真から撮影日を取得するコード
単一の画像ファイルから撮影日を取得する場合、
Shell.Applicationオブジェクトを使用する方法が最もシンプルで確実
です。
この方法は、
Windowsの標準機能を利用するため、追加のライブラリやコンポーネントが不要でどの環境でも安定して動作
させることができます。
デスクトップにある「sample.jpg」から撮影日を取得するサンプルコードがこちら
Sub GetSinglePhotoDate()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim filePath As String
filePath = "C:\Users\Desktop\sample.jpg"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(Left(filePath, InStrRev(filePath, "\")))
Set file = folder.ParseName(Right(filePath, Len(filePath) - InStrRev(filePath, "\")))
Debug.Print "撮影日: " & folder.GetDetailsOf(file, 12)
End Sub
実行結果がこちら
このコードは撮影日の取得において非常に実用性が高く、コピペするだけですぐに使えます。
フォルダ内の全画像から撮影日を一括取得
複数の画像ファイルからまとめて撮影日取得するには、
Dir関数とループ処理を組み合わせたVBA
をの利用がおすすめです。
このコードを使えば、
手作業では何時間もかかる大量の写真整理作業も数分で処理
できるようになります。
複数の画像ファイルからまとめて撮影日取得するVBAのサンプルコードがこちら
Sub GetAllPhotoDates()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim folderPath As String
Dim fileName As String
Dim i As Long
folderPath = "E:\ブログ関係\Excel\サンプル写真\"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(shell.Namespace(Left(folderPath, InStrRev(folderPath, "\"))))
i = 2
fileName = Dir(folderPath & "*.jpg")
Do While fileName <> ""
Set file = folder.ParseName(fileName)
Cells(i, 1).Value = fileName
Cells(i, 2).Value = folder.GetDetailsOf(file, 12)
i = i + 1
fileName = Dir
Loop
End Sub
実行結果がこちら
指定するフォルダ内のすべてのJPG画像の撮影日がエクセルシートに瞬時に一覧表示されます。
関連記事「Dir関数の使い方」では、複数のファイル検索、フォルダ操作の方法が紹介されています。
エラー処理付きの安全なコード例
実際の業務でVBAコードを運用する際は、
画像ファイルが破損していたり、撮影日情報が記録されていない場合でもプログラムが停止せずに処理を継続できる
よう予期しないエラーに対する適切な処理を実装しましょう。
Exif情報が存在しない画像や、対応していないファイル形式が混在している場合でも、安全に処理を進めることができるサンプルコードがこちら
Sub GetPhotoDatesSafely()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim folderPath As String
Dim fileName As String
Dim i As Long
Dim photoDate As String
On Error GoTo ErrorHandler
folderPath = "E:\ブログ関係\Excel\サンプル写真\"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(shell.Namespace(Left(folderPath, InStrRev(folderPath, "\"))))
i = 2
fileName = Dir(folderPath & "*.*")
Do While fileName <> ""
If LCase(Right(fileName, 4)) = ".jpg" Or LCase(Right(fileName, 4)) = ".png" Then
Set file = folder.ParseName(fileName)
photoDate = folder.GetDetailsOf(file, 12)
Cells(i, 1).Value = fileName
If photoDate <> "" Then
Cells(i, 2).Value = photoDate
Else
Cells(i, 2).Value = "撮影日不明"
End If
i = i + 1
End If
fileName = Dir
Loop
MsgBox "処理完了: " & (i - 2) & "件の画像を処理しました"
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description
Resume Next
End Sub
実行結果がこちら
このエラー処理付きコードを使用することで、どのような状況でも安定して撮影日の取得ができます。
撮影日データを活用した実践的な自動化例
撮影日が取得できるようになったら、次はそのデータを活用した実践的な自動化に挑戦してみましょう。
単純にデータを表示するだけでなくファイル整理や管理業務に直接役立つ機能を実装することで、
よりエクセル業務の効率化に効果を発揮
させることが可能です。
大量の写真データを扱う業務では、撮影日を基にしたファイル名変更や自動ソート機能が必要とされます。
これらの自動化テクニックをマスターし、手間と時間のかかる写真データ管理業務の効率をアップさせてください。
Excelシートに撮影日以外の情報付きリストを自動作成
写真の一覧表を作成する際、撮影日と一緒にファイル情報を整理できれば、後の管理作業が格段に楽になります。
手動で写真データの情報を入力していくと、
「時間がかかる」「入力ミスが発生する」などの
デメリットが発生。
特にイベント写真や商品撮影など、大量の画像を扱う場面では必須の機能といえるでしょう。
Sub CreatePhotoListWithDate()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim folderPath As String
Dim fileName As String
Dim i As Long
folderPath = "E:\ブログ関係\Excel\サンプル写真\"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(shell.Namespace(Left(folderPath, InStrRev(folderPath, "\"))))
' ヘッダー行を作成
Cells(1, 1).Value = "ファイル名"
Cells(1, 2).Value = "撮影日"
Cells(1, 3).Value = "ファイルサイズ"
Cells(1, 4).Value = "画像サイズ"
i = 2
fileName = Dir(folderPath & "*.jpg")
Do While fileName <> ""
Set file = folder.ParseName(fileName)
Cells(i, 1).Value = fileName
Cells(i, 2).Value = folder.GetDetailsOf(file, 12) ' 撮影日
Cells(i, 3).Value = folder.GetDetailsOf(file, 1) ' ファイルサイズ
Cells(i, 4).Value = folder.GetDetailsOf(file, 31) ' 画像サイズ
i = i + 1
fileName = Dir
Loop
' 列幅を自動調整
Columns("A:D").AutoFit
MsgBox "画像リストを作成しました"
End Sub
実行結果がこちら
指定フォルダ内のすべての画像データの情報をリスト化することができます。
撮影日でファイル名を自動リネーム
デジタルカメラで撮影した写真は、通常「DSC001.jpg」のような意味のないファイル名になっています。
撮影日を含んだファイル名に変更することで、ファイルの内容が一目で分かるようになり、後の検索や整理作業が格段に楽になるからです。
たとえば「2024-03-15_001.jpg」のような形式にリネームすれば、時系列での管理が簡単になります。
ファイル名をリネームするサンプルコードがこちら
Sub RenameFilesByPhotoDate()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim folderPath As String
Dim fileName As String
Dim photoDate As String
Dim newFileName As String
Dim counter As Long
folderPath = "E:\ブログ関係\Excel\サンプル写真\"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(shell.Namespace(Left(folderPath, InStrRev(folderPath, "\"))))
counter = 1
fileName = Dir(folderPath & "*.jpg")
Do While fileName <> ""
Set file = folder.ParseName(fileName)
photoDate = folder.GetDetailsOf(file, 12)
If photoDate <> "" Then
' 日付形式を変換(YYYY-MM-DD形式に)
photoDate = Format(CDate(photoDate), "yyyy-mm-dd")
newFileName = photoDate & "_" & Format(counter, "000") & ".jpg"
' ファイル名を変更
Name folderPath & fileName As folderPath & newFileName
counter = counter + 1
End If
fileName = Dir
Loop
MsgBox counter - 1 & "個のファイルをリネームしました"
End Sub
撮影日順に整理されたわかりやすいファイル名に一括変更できるため、写真の検索性と管理性が大幅に改善されるでしょう。
撮影日順で画像を自動ソート・整理
大量の写真を時系列順に整理したい場合、撮影日情報を基にしたフォルダ分けが非常に効果的です。
撮影日ごとに自動でフォルダを作成し、該当する画像を移動させる
という処理ができます。
撮影日ごとにフォルダ分けし、写真データを整理するサンプルコードがこちら
Sub SortPhotosByDate()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim sourcePath As String
Dim fileName As String
Dim photoDate As String
Dim targetFolder As String
Dim fso As Object
sourcePath = "E:\ブログ関係\Excel\サンプル写真\"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(shell.Namespace(Left(folderPath, InStrRev(folderPath, "\"))))
Set fso = CreateObject("Scripting.FileSystemObject")
fileName = Dir(sourcePath & "*.jpg")
Do While fileName <> ""
Set file = folder.ParseName(fileName)
photoDate = folder.GetDetailsOf(file, 12)
If photoDate <> "" Then
' 撮影日からフォルダ名を作成(YYYY-MM形式)
targetFolder = sourcePath & Format(CDate(photoDate), "yyyy-mm") & "\"
' フォルダが存在しない場合は作成
If Not fso.FolderExists(targetFolder) Then
fso.CreateFolder targetFolder
End If
' ファイルを移動
fso.MoveFile sourcePath & fileName, targetFolder & fileName
End If
fileName = Dir
Loop
MsgBox "撮影日順でフォルダ分けが完了しました"
End Sub
撮影日ごとに整理されたフォルダ構造が自動作成されるため、大量の写真でも効率的に管理できるようになります。
VBA写真撮影日取得の応用テクニック
基本的な撮影日取得をマスターしたら、さらに高度な情報取得テクニックに挑戦してみましょう。
写真のExif情報には撮影日以外にもGPS位置情報やカメラ設定など豊富なデータが含まれており、
これらの情報をリスト化し活用することができます。
また、大量の画像を処理する際の高速化テクニックも合わせて習得すれば、プロレベルの写真管理システムの構築が可能です。
撮影場所(GPS情報)も同時に取得する方法
現代のスマートフォンやデジタルカメラで撮影された写真にはGPS機能によって撮影場所の位置情報が記録されており、
「写真がどこで撮影されたか」
をリスト化することができます。
旅行写真の整理や地域別に写真を分類するときに大変便利です。
GPS情報をリスト化するサンプルコードがこちら
Sub GetPhotoLocationInfo()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim folderPath As String
Dim fileName As String
Dim i As Long
folderPath = "E:\ブログ関係\Excel\サンプル写真\"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(shell.Namespace(Left(folderPath, InStrRev(folderPath, "\"))))
' ヘッダー行を作成
Cells(1, 1).Value = "ファイル名"
Cells(1, 2).Value = "撮影日"
Cells(1, 3).Value = "GPS緯度"
Cells(1, 4).Value = "GPS経度"
i = 2
fileName = Dir(folderPath & "*.jpg")
Do While fileName <> ""
Set file = folder.ParseName(fileName)
Cells(i, 1).Value = fileName
Cells(i, 2).Value = folder.GetDetailsOf(file, 12) ' 撮影日
Cells(i, 3).Value = folder.GetDetailsOf(file, 21) ' GPS緯度
Cells(i, 4).Value = folder.GetDetailsOf(file, 22) ' GPS経度
i = i + 1
fileName = Dir
Loop
Columns("A:D").AutoFit
MsgBox "位置情報付きリストを作成しました"
End Sub
撮影場所の位置情報が記録された写真データであれば、「緯度」「経度」を一覧表に出力することができます。
カメラ機種・設定情報の取得
写真のExif情報には、使用したカメラの機種名や撮影時の設定(ISO感度、絞り値、シャッター速度など)も記録されています。
これらの情報を取得することで、
カメラ別の写真分類や撮影技術の分析に活用
することができます。
写真のExif情報を一覧表にするサンプルコードはこちら
Sub GetCameraInfo()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim folderPath As String
Dim fileName As String
Dim i As Long
folderPath = "E:\ブログ関係\Excel\サンプル写真\"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(shell.Namespace(Left(folderPath, InStrRev(folderPath, "\"))))
' ヘッダー行を作成
Cells(1, 1).Value = "ファイル名"
Cells(1, 2).Value = "撮影日"
Cells(1, 3).Value = "カメラ機種"
Cells(1, 4).Value = "ISO感度"
Cells(1, 5).Value = "絞り値"
Cells(1, 6).Value = "シャッター速度"
i = 2
fileName = Dir(folderPath & "*.jpg")
Do While fileName <> ""
Set file = folder.ParseName(fileName)
Cells(i, 1).Value = fileName
Cells(i, 2).Value = folder.GetDetailsOf(file, 12) ' 撮影日
Cells(i, 3).Value = folder.GetDetailsOf(file, 24) ' カメラ機種
Cells(i, 4).Value = folder.GetDetailsOf(file, 25) ' ISO感度
Cells(i, 5).Value = folder.GetDetailsOf(file, 26) ' 絞り値
Cells(i, 6).Value = folder.GetDetailsOf(file, 27) ' シャッター速度
i = i + 1
fileName = Dir
Loop
Columns("A:F").AutoFit
MsgBox "カメラ情報付きリストを作成しました"
End Sub
このカメラ情報取得機能により、
どのカメラでどのような設定で撮影した写真が最も良い結果になったかを分析
することができます。
撮影技術の向上や機材選択の参考データとして活用できる詳細な写真データベースが構築できるでしょう。
大量画像処理の高速化テクニック
数千枚以上の大量の画像を処理する場合、処理速度の最適化が重要になります。
メモリ使用量の最適化や処理方法を工夫することで、
大幅な高速化を実現
が可能です。
大量の写真データ情報を高速で取得できるサンプルコードはこちら
Sub HighSpeedPhotoProcessing()
Dim shell As Object
Dim folder As Object
Dim file As Object
Dim folderPath As String
Dim fileName As String
Dim i As Long
Dim startTime As Double
Dim dataArray As Variant
Dim maxRows As Long
' 処理開始時間を記録
startTime = Timer
maxRows = 10000 ' 最大処理件数
' 配列を使用してメモリ上で処理(高速化)
ReDim dataArray(1 To maxRows, 1 To 4)
folderPath = "E:\ブログ関係\Excel\サンプル写真\"
Set shell = CreateObject("Shell.Application")
Set folder = shell.Namespace(shell.Namespace(Left(folderPath, InStrRev(folderPath, "\"))))
' 画面更新を停止(高速化)
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
i = 1
fileName = Dir(folderPath & "*.jpg")
Do While fileName <> "" And i <= maxRows
Set file = folder.ParseName(fileName)
dataArray(i, 1) = fileName
dataArray(i, 2) = folder.GetDetailsOf(file, 12) ' 撮影日
dataArray(i, 3) = folder.GetDetailsOf(file, 1) ' ファイルサイズ
dataArray(i, 4) = folder.GetDetailsOf(file, 24) ' カメラ機種
i = i + 1
fileName = Dir
Loop
' 配列データを一括でワークシートに出力(高速化)
If i > 1 Then
Range("A1").Resize(i - 1, 4).Value = dataArray
End If
' 設定を元に戻す
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "処理完了: " & (i - 1) & "件 処理時間: " & Format(Timer - startTime, "0.00") & "秒"
End Sub
実行結果がこちら
34件の写真データの情報を、たったの0.43秒で一覧表にすることができました。
この高速化テクニックを適用することで、大量の画像処理でも短時間で完了できるため、業務レベルでの実用性が格段に向上するでしょう。
ファイル情報を一覧表にするマクロ
ここからは、
ファイル情報(エクセル、ワード、テキスト、など)を取得し一覧表にするVBA
についてご紹介します。
「撮影日をリスト化するVBA」と組み合わせて活用することで、データ管理業務の効率を更にアップさせることが可能です。
フォルダ名・フォルダ情報を取得し一覧表にするVBA
『フォルダ名・フォルダ情報を取得し一覧表にするVBA』は
指定するフォルダ内にある大量のフォルダ情報を瞬時に一覧表にする
ことができます。
『フォルダ名を取得するVBA』のサンプルコードがこちら
Sub フォルダ名取得()
Dim FP As String
FP = "E:\ブログ関係\Excel"
Dim fl As FileSystemObject
Set fl = New FileSystemObject
Dim Fld As Folder
Set Fld = fl.GetFolder(FP & "\")
Dim FlName As Folder
For Each FlName In Fld.SubFolders
gyo = Cells(Rows.Count, 1).End(xlUp).Row
Cells(gyo + 1, 1) = FlName.Name
Next
Set fl = Nothing
End Sub
実行結果がこちら
フォルダ名の一覧表を作成したあとに『フォルダ情報を取得するVBA』を実行します。
『フォルダ情報を取得するVBA』のサンプルコードがこちら
Sub フォルダ名更新日取得()
Dim FP As String
FP = "E:\ブログ関係\Excel"
Dim fl As FileSystemObject
Set fl = New FileSystemObject
Dim Fld As Folder
Dim Pa As String
gyo = Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To gyo
Pa = Cells(i, 1)
Set Fld = fl.GetFolder(FP & "\" & Pa)
Cells(i, 2) = Fld.DateCreated
Cells(i, 3) = Fld.DateLastModified
Cells(i, 4) = Fld.DateLastAccessed
Next
End Sub
実行結果がこちら
2つのVBAを組み合わせて活用すれば、
フォルダ管理業務の効率をアップさせることが可能
です。
ファイル名・ファイル情報を取得し一覧表にするVBA
『ファイル名・ファイル情報を取得し一覧表にするVBA』は
指定するフォルダ内にあるファイル(エクセル、ワード、テキスト、など)を瞬時に一覧表にする
ことができます。
『エクセルを取得するVBA』のサンプルコードがこちら
Sub データ名エクセル取得()
gyo = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(4, 1), Cells(gyo + 1, 1)).ClearContents
Dim FP As String
FP = "E:\ブログ関係\Excel"
FoName = Dir(FP & "\*.xls*")
Do Until FoName = ""
gyo = Cells(Rows.Count, 1).End(xlUp).Row
Cells(gyo + 1, 1) = FoName
FoName = Dir
Loop
End Sub
実行結果がこちら
エクセルファイルだけの一覧表を作成したあとに『データ更新日を取得するVBA』を実行します。
『データ更新日を取得するVBA』のサンプルコードがこちら
Sub データ更新日取得()
Dim FP As String
FP = "E:\ブログ関係\Excel"
Dim fl As FileSystemObject
Set fl = New FileSystemObject
Dim Flp As File
Dim Pa As String
gyo = Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To gyo
Pa = Cells(i, 1)
Set Flp = fl.GetFile(FP & "\" & Pa)
Cells(i, 2) = Flp.DateCreated
Cells(i, 3) = Flp.DateLastModified
Cells(i, 4) = Flp.DateLastAccessed
Next
End Sub
実行結果がこちら
リスト化したファイル情報があれば
使用頻度の高い需要なファイルはどれか、使っていない不要なファイルはどれか、など
一目で確認することができるようになります。
上記で紹介している『ファイル情報を一覧表にするマクロ』は下記のリンクからダウンロード可能です。
「情報を一覧表にする」以外に、
フォルダ名をまとめて変更するVBA、データ名をまとめて変更するVBAが設定
されています。
大量のファイル名をまとめて変更したい!という方は是非参考にしてみてください。
VBA初心者が『撮影日を取得するVBA』を導入する方法
VBAなんて扱ったことないけど、業務内容に合わせた『撮影日を取得するVBA』を導入したい!
こんな問題を解決する方法がこちら
- マクロの開発を外注に依頼する
- マクロが設定されたエクセルファイルをダウンロードする
- 参考書やネットでVBAスキルを身に付ける
VBAスキルを身に着ける前は、「マクロ開発の外注」で対応していましたが、
今では自分で効率化マクロをサクッと導入しちゃいます。
完成されたマクロを使ってエクセル業務を処理する
↓
作業効率が2倍以上アップ!!
↓
便利すぎて自分でもマクロを設定したいと考え始める
↓
参考書やネットの情報でVBAスキルを身に付ける
↓
マクロ開発を代行できる程のスキルを習得
VBAは
他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
という特徴があります。
外注した方が楽だけど、費用がかかる。自分で導入すれば費用は0円だけど時間がかかる。。
いずれにせよ、効率化マクロを導入できれば作業効率が飛躍的にアップするのは間違いありません。
あなたに合った方法で導入しちゃいましょう。
マクロ開発を外注に依頼する
マクロ開発を外注に依頼する方法は
VBAを全く扱えない方でもエクセル作業を自動化できる最も簡単な方法
です。
「撮影日が新しい順番でリスト化したい」「指定する撮影日の写真を自動で貼り付けたい」
こんな感じで実現したい内容を依頼するだけで業務内容に合ったマクロを開発してくれます。

ガッツポーズの人
デメリットは、費用がかかることだけ。
開発内容、依頼先によってかかる費用は大きく異なります。
私が会社員の頃利用していた業者さんは1マクロあたり2万円~3万円の費用がかかりました。

疑問がある人
ちなみに、マメBlogでもエクセルマクロ開発代行サービスを承っています。
開発内容の確認、VBAコードの設定、動作確認後の調整、など全ての工程を私(マメ父ちゃん)が行っているので、
費用が安い!スピード納期!!
でやらせてもらっています。
ほとんど独学で身に付けたVBAスキルなので、内容によっては開発できないこともあるのでご了承ください。
ご相談、見積もり依頼は完全無料ですので気になる方は下記のリンクよりお問合せ下さい。
マクロが設定されたエクセルファイルをダウンロードする
VBA初心者でも『マクロが設定されたエクセルファイルをダウンロード』することで、
すぐに使っているエクセルにマクロを導入することができます。
VBA初心者でも形になっているマクロをゲットできる、費用が安い、
というメリットがあります。
しかし、
想定するマクロを見つけることが難しい、業務内容に合わせるためのアレンジが必要
というデメリットもあります。

ガッツポーズの人
個人ブログやファイルを販売できるサイト「note」や「Tips」ではいろんなマクロの情報が掲載されているので是非参考にしてみてください。
今までマメBlogで受注した効率化マクロを下記のnoteで掲載していますので併せてチェックしてみてください。
参考書やネットでVBAスキルを身に付ける
先程も紹介しましたが、
VBAは他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
プログラミングです。
言い換えると、
情報量が豊富なので自分で勉強できちゃう
ということです。
私のVBAスキルはほとんど独学で身に付けたもので、
考えた処理のほとんどをVBAで表現できるレベルにまで到達した!
と思っています。
私の作ったマクロをプロのプログラマーが見れば、
お前の書くコードはインチキだ!「変数の宣言」とか「引数」を正しく使えよ!!
と感じるはずです。
でも、
私からすればどうでもいい!!!想定した内容を正しく処理できればよくないですか!?
独学であっても『撮影日を取得しリスト化するマクロ』『写真を貼り付けるマクロ』『全てのシートをPDF出力するマクロ』など、
業務内容に合ったマクロを開発できるようになれます。
独学でVBAスキルを身に付けるコツは、
エラーが発生してもいいからひたすらコードを書く、なんでもいいからエクセル作業をマクロ化してみる
です。
とは言っても、全くの知識0の方は何をすればいいかわからないですよね。
VBA知識0の初心者の方は、参考書『たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】』を読んでみてください。
VBAの知識0の方でもすいすい読み進められる内容になっています。
やさしい内容にも関わらず「え!!VBAを使えばこんなことできるの!?」と感動すると思います。
実際に私はこの参考書を読んでからVBAの勉強を始めました。

ひらめく人
VBAの魅力を発見した後は、
ひたすら自動化したい内容のコードを書くだけ
です。
【VBA 撮影日取得】【VBA 撮影日リスト化】【VBA 写真貼り付け】でネット検索すれば知りたいコードをすぐにゲットできます。
実現したい処理に向かって、「調べる→書いてみる→エラーを改善する→調べる」を繰り返していると
自然といろんなマクロが作れるようになっているはずです。
VBAに興味が湧いてきたという方は今からVBA学習をスタートさせちゃいましょう。
ディスカッション
コメント一覧
まだ、コメントがありません