こんにちは。ヒガシです。
この記事では、VBAを用いて
①ランダムにデータ作成
②データを保存するフォルダ作成
③データ保存
という一連の流れを繰り返し実行する方法をご紹介していきます。
この作業は先日私がAI開発をしている際に出くわした状況です。
きっと同じような作業を行う人もいると思いますので、やり方をメモしておきます。
それでは早速やっていきます!
紹介するスキルの概要説明
まずはじめに今回の記事で紹介する内容を簡単にご説明しておきます。
この記事では以下の画像のように
①エクセルシート上でデータを作成し
(今回は適当な乱数を作成しています。)
②作ったデータをフォルダに格納するという作業を
③10回繰り返す
ということをやってみようと思います。
このような作業が必要な状況に陥っている人は、ぜひ続きをご覧ください。
VBAコードを記述
早速ですが、以下が先ほど紹介した内容を実行するVBAコードです。
◆サンプルコード
Sub sample_macro()
'変数の型指定
Dim i As Integer, j As Integer
Dim base_dir As String, output_dir As String
'繰り返し回数を指定
For j = 1 To 10
'出力するデータを作成
For i = 1 To 9
Cells(4 + i, 2) = Rnd()
Next
'保存先のフォルダを作成
base_dir = "C:\Users\Desktop\test"
output_dir = base_dir & "\case" & Format(j, "000")
MkDir output_dir
'データを保存する
Open output_dir & "\output.txt" For Output As #1
For i = 1 To 9
Print #1, Cells(i + 4, 1) & amp; vbTab; Cells(i + 4, 2)
Next
Close #1
Next
End Sub
処理の流れはコメントで記載している通りですので割愛しますが、 上記のコードでは、
◆乱数生成:Rnd()
◆連番作成:Format(j,”000″)
◆フォルダ作成:MkDir
◆テキスト出力:Open・・・Output
といった多くの基礎スキル活用しています。
ぜひ使い方を覚えておきましょう。
サンプルコードの実行結果
最後に先ほどのコードを実行してみましょう。
◆実行前のデータ出力フォルダの状態
◆実行後のデータ出力フォルダの状態
◆各フォルダの中身
(case001~case010までのすべてのフォルダにoutput.txtが格納されています。)
◆各フォルダの中に入っているデータ
(本当は10個ありますが、今回は6個だけ並べています。)
しっかりとデータ生成⇒フォルダ作成⇒保存という流れを実行できていることを確認できました。
おわりに
というわけで今回はデータ生成⇒フォルダ作成⇒テキスト保存という一連の流れを実演してみました。
このような状況に出くわした際は、ぜひこの記事のことを思い出してみてください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント