※ ChatGPTを利用し、要約された質問です(原文:エクセルVBEのマクロを修正したいのです。)
エクセルVBEのマクロ修正方法 | セルを画像として保存
このQ&Aのポイント
エクセルVBEのマクロを使ってセルを画像として保存する作業を行っていますが、ファイル名の自動付与を修正したいです。
現在のマクロでは、連番でimage00001.bmp、image00002.bmpというファイル名が付与されますが、画像変換したセルの右隣のセルの文字列をファイル名として使用したいです。
具体的には、A1のセルを画像にした場合、右隣のB1の文字列が01-001aであれば、ファイル名をimage01-001a.bmpにしたいです。修正方法を教えてください。
「エクセルのセルを一個ずつ別々の画像として書き出し保存する」
という作業を、下の質問回答に記載のマクロを参考にしながら
行っています。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=3087644
複数選択したセルを別々の画像として保存することが一度ででき、
とても助かっているのですが、ただ、出来上がるbmpファイルの
ファイル名が自動的につけられてしまうところを少し修正できれば、
と考えています。
上に記載の方法ではできあがった画像に、自動的に連番で
image00001.bmp
image00002.bmp
というようなファイル名が付与されるのですが、
この00001とか00002という部分に
画像変換したセルの右隣のセルの文字列を入れるようにしたいのです。
例えば、
A1のセルを画像にした場合、B1に01-001aという文字列があれば、
画像のファイル名を image01-001a.bmp に
A5のセルを画像にした場合、B5に01-005aという文字列があれば、
画像のファイル名を image01-005a.bmp に
するにはどうすればよいのでしょうか?
お手数ですが
http://oshiete1.goo.ne.jp/kotaeru.php3?q=3087644
をご確認いただき、どこをどのように直せばよいのか
ご教示願えますでしょうか。
(禁止事項に触れると思いますので参考にしたマクロを
ここにそっくりそのままコピペすることは避けました。)
おそらく
' // BMPファイルを書き出す
Call SavePicture(p, sImgDir & "\image" & Format$(lImgCnt, "00000") & ".bmp")
lImgCnt = lImgCnt + 1
Set p = Nothing
という箇所を変更するのだとはおもうのですが。
VBAはあまりよくわかっていないので
少し丁寧に説明していただけると助かります。
よろしくおねがいします。
お礼
早速のご回答ありがとうございます。 00000という連番は必要なかったので & Format$(lImgCnt, "00000") だけ削除しましたが、他は教えていただいたように変更してうまくいきました。 「offsetを使うんだろうな~」といううっすら予想はあったのですが、どうやって書いたらいいのか分からなかったのでたすかりました。 ありがとうございました。