こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2008-11-07 20:47:10

QNo.4461115

すぐに回答ほしいです

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

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にフォルダの名前にしたい文字や数字があり、
>それをフォルダ名にすることをエクセルでしたいのですが
各セルの値をどうしたいのか不明です。

投稿日時 - 2008-11-07 22:13:44

お礼

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

投稿日時 - 2008-11-08 07:30:07

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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

投稿日時 - 2008-11-07 22:16:31

お礼

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

投稿日時 - 2008-11-08 07:35:13

ANo.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

投稿日時 - 2008-11-07 22:16:24

お礼

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

投稿日時 - 2008-11-08 07:33:09

あなたにオススメの質問