前提
vbaを使用して作成したフォルダに指定したフォルダ・ファイルを入れたい
実現したいこと
1.アクティブシートのセルA10が名前のフォルダを作る
2."C:\Users\NTS65\Desktop\マイフォルダ\シュリンク豆知識" & Cells(i, 1).Value
の箇所に上記のフォルダが作成されている
3.その生成されたフォルダ内にアクティブシートB9が”1500左標準標準”の場合
"D:\test\A"内のフォルダ・ファイルが入る
4.アクティブシートB9が”1500右標準標準”の場合
"D:\test\C"内のフォルダ・ファイルが入る
該当のソースコード
ソースコード Sub 仕分け() Dim mydir As Variant Dim i As Integer Dim mypath(1) As String Dim mypath(2) As String Dim mypath(3) As String Dim mypath(4) As String For i = 10 To Range("A" & Rows.Count).End(xlUp).Row mydir = "C:\Users\NTS65\Desktop\マイフォルダ\シュリンク豆知識\" & Cells(i, 1).Value If Dir(mydir, vbDirectory) = vbNullString Then MkDir mydir Next i End If If Range("B9") = "1500右標準標準" Then ' ファイル元保管場所 mypath(1) = "D:\test\A\" ' ファイル貼り付け先(上記で作成したファイル) mypath(2) = FileCopy mypath(1), mypath(2) ElseIf Range("B9") = "1500左標準標準" Then ' ファイル元保管場所 mypath(3) = "D:\test\C\" ' ファイル貼り付け先(上記で作成したファイル) mypath(4) = FileCopy mypath(3), mypath(4) End If MsgBox "コピーされました" End Sub
試したこと
作成したフォルダをどうにか指定する方法をネットで様々試したがうまくいきませんでした。
VBA初心者かつ質問も初めてで,色々おかしいところがあると思いますが、皆様の知恵を貸してください。よろしくお願いいたします。
> 1.エクセルVBAで指定したセルの文字列名のファイルを作成する。
上記のファイルというのは、フォルダーの間違いではないですか。そのほかの部分にもファイルなのかフォルダーなのかあいまいな部分があります。質問文をもう一度見直して、間違っている部分は訂正してください。
あと、For Next 内でフォルダーを作成していますが、フォルダーは複数あるということですか。
フォルダとファイルが混ざっていた個所を直しました。
分かりにくく申し訳ありません
作るフォルダーは一つです!参考にしたコードが複数でしたが、そのまま使用しています。
ご指摘ありがとうございます。
やりたいことをもう少し正確に他人も伝わるように説明してもらえますか。
それができなければコードは書けません。
一例をあげると、下記のように説明してもらえませんか。
1. アクティブシートのA10セルにフォルダー名が入力されている。
2. そのフォルダーが存在しない場合は、フォルダーを作成する。
3. B9セルの値が「1500右標準標準」なら、"D:\test\A\"内のファイルを上記のフォルダーにコピーする。
4. B9セルの値が「1500左標準標準」なら、"D:\test\C\"内のファイルを上記のフォルダーにコピーする。
これは書き方の一例ですので、自分でやりたいことを整理して上記のように箇条書きで説明してください。
ご丁寧にありがとうございます。
実現したい欄を詳しく書かせていただいております。
hatena19さんの解釈通りです。
回答1件
あなたの回答
tips
プレビュー