• ベストアンサー

エクセルVBAでセルを名前にしてフォルダを生成

こんばんは。 セルA2 B2 C2にフォルダの名前にしたい文字や数字があり、 それをフォルダ名にすることをエクセルでしたいのですが コードを教えていただけないでしょうか? できたフォルダはデスクトップにあるようにしたいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Sub try() Dim myPath As String Dim myDir As String myPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") myDir = myPath & "\" & "abc" 'デスクトップに"abc"と言うフォルダを作る MkDir (myDir) End Sub >セルA2 B2 C2にフォルダの名前にしたい文字や数字があり、 >それをフォルダ名にすることをエクセルでしたいのですが 各セルの値をどうしたいのか不明です。

newme
質問者

お礼

n-junさんありがとうございました。 ばっちりできました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

#1と似たようなものですが... デスクトップのフォルダー取得 http://officetanaka.net/excel/vba/tips/tips107.htm フォルダーの新規作成 http://officetanaka.net/excel/vba/filesystemobject/filesystemobject.htm#CreateFolder Sub test() Dim desktopPath As String, WSH As Variant Dim FSO Set WSH = CreateObject("WScript.Shell") desktopPath = WSH.SpecialFolders("Desktop") & "\" Set WSH = Nothing Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CreateFolder desktopPath & Range("a1").Value Set FSO = Nothing End Sub

newme
質問者

お礼

mitarashiさんありがとうございました。 参考サイトのご紹介もありがたいです。

すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

こんな感じ? デスクトップのパスはマシン環境で違うので、確認の上設定してください。 Sub test() Dim i As Integer, f As String, p As String, c() As String Const cel = "A2 B2 C2" '/←対象とするセル名を列挙 Const pt = "C:\Documents and Settings\デスクトップ" '/←デスクトップのパスを記入 c = Split(cel) p = pt & "\" For i = LBound(c) To UBound(c)  f = ActiveSheet.Range(c(i)).Text  If (Dir(p & f, vbDirectory) = "") Then MkDir p & f Next i End Sub

newme
質問者

お礼

fujillinさんありがとうございました。 いろいろなやり方があるのに驚きました。

すると、全ての回答が全文表示されます。

関連するQ&A