アプリ版:「スタンプのみでお礼する」機能のリリースについて

    A       B
1 20071203 旭区駒込
2 20101103 豊島区神保町
3 20101230 江東区東松原町


上記のように、A列に8桁の半角数字、B列に複数の全角文字(漢字、ひらがな、カタカナ)
が入力されたエクセルファイルがあります。

ここから、各行のA列とB列を結合したものを「フォルダ名」としたフォルダを生成したいと考えています。

20071203旭区駒込
20101103豊島区神保町
20101230江東区東松原町


上記のような「フォルダ」が作られるイメージです。
このようなことができる方法はございませんでしょうか?
何卒よろしくお願いいたします。

A 回答 (7件)

strPath = ThisWorkbook.Path



ですから、strPathはファイルがあるディレクトリ
を示しています。したがって、

MkDir strPath & "\" & strFile

strPath & "\" & strFile

は、

Excelファイルのあるディレクトリのフルパス\フォルダ名

ということです。
    • good
    • 0
この回答へのお礼

教えていただいたコードを色々と変えて利用しています。
どうもありがとうございました。

お礼日時:2011/09/25 01:01

>Excelファイルのあるディレクトリのフルパス\フォルダ名



ではなく、

Excelファイルのあるディレクトリのカレントパス\フォルダ名

ですね。
    • good
    • 0

>MkDir strPath & "\フォルダ入れ\" & strFile





MkDir strPath & "\" & strFile

にしてください。
    • good
    • 0

該当するsheetがActiveなら


cells(1,1)&cells(1,2)のように「cells(行,列)」で値を取得できます。
変数 i を使って

i =1
do while( cells(i,1) != "" )
'フォルダの作成
loop

のようにすればできるようでしょう。

この説明で分からないようなら、すみませんがEXCEL VBAの入門書か入門サイトで勉強しなおす必要があると思います。
    • good
    • 0

No2です。



使っていないものが残っていました。
コード中の、

Dim L2 As Long
L2 = 1
L2 = L2 + 1

変数L2は使っていないので、コメントアウトするか
削除しておいてください。あっても何もしませんが。
    • good
    • 0
この回答へのお礼

まことにありがとうございます。
ご教示いただいた方法でできました!

”フォルダ入れ”というフォルダに格納するようにされていますが、
エクセルデータがあるカレントディレクトリ内にフォルダを生成するにはどのようにしたらよろしいでしょうか?

strPathを色々といじりましたが、どうしてもエラーになってしまい解りません。

お礼日時:2011/09/17 11:45

一応Excelファイルがある同じフォルダに


「フォルダ入れ」という名前のフォルダを
作っておきます。
Excelの標準モジュールに以下を貼り付け
保存してください。
マクロの実行で「mkフォルダ」を実行。


Sub mkフォルダ()
Dim strPath As String
Dim strFile As String
Dim L1 As Long
Dim L2 As Long
Dim x As Long


strPath = ThisWorkbook.Path

L2 = 1
x = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row '最終行

For L1 = 1 To x
'A列のデータが尽きたところで終了
If Worksheets("Sheet1").Cells(L1, 1).Value = "" Then
Exit Sub
End If

'フォルダ作成
strFile = Worksheets("Sheet1").Cells(L1, 1).Value & _
Worksheets("Sheet1").Cells(L1, 2).Value
MkDir strPath & "\フォルダ入れ\" & strFile
strFile = ""
L2 = L2 + 1
Next L1
End Sub
    • good
    • 0

http://officetanaka.net/excel/vba/filesystemobje …

FileSystemObjectのCreateFolderメソッドを用いればできると思います。
作成前にExistsFolderメソッドですでにあるかどうか調べたほうがいいと思いますが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ご教示いただいた方法ですと、フォルダ名を手打ち入力するようですが、
エクセルデータから引っ張ってくる方法がどうにも解りません。
どうぞよろしくお願いいたします。

お礼日時:2011/09/16 23:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!