フォルダ内のx個のファイルを取り込み、それらをすべて同じブックの別々のシートに配置したいと考えています。テキストボックスに文字列を入力して再利用
このコードが動作しています。しかし
Public Sub consolWB()
Dim FSO As Object
Dim folder As Object, subfolder As Object
Dim wb As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
folderPath = "C:\Users\patrickw\Desktop\exceltest"
Set folder = FSO.GetFolder(folderPath)
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.AskToUpdateLinks = False
End With
For Each wb In folder.Files
If Right(wb.Name, 3) = "xls" Or Right(wb.Name, 4) = "xlsx" Or Right(wb.Name, 4) = "xlsm" Then
Set openWB = Workbooks.Open(wb)
For Each ws In openWB.Worksheets
ws.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Next ws
openWB.Close
End If
Next wb
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.AskToUpdateLinks = True
End With
End Sub
、この唯一の作品、私はファイルパスをユーザに促し、ボタンを作成したい。
を、それが中に見えるするターゲットファイルパスを設定し、ファイルパスを持っていることを利用しているため、ファイル内にあります。
私は入力を文字列にして、上記のコードでこの変数を使用する必要があると思います。
これは可能ですか?
上記の例では、新しいシートは単に「sheet1 ...」と呼ばれていますが、これを自分自身で指定することは可能ですか?
おかげ
ボックスに入力するか、セルに入力するか、フォルダを参照してフォルダを選択できるボックスを表示しますか?または、他の何か。 – QHarr
私は当初、ドロップダウンボックスを使って正しいファイルを選択したいと思っていました。どちらの方法であれ、他のマクロの参照としてその文字列を使用できるようにする必要があります。 –
ここに例がありますhttps://stackoverflow.com/questions/25153342/open-a-workbook-using-filedialog-and-manipulate-it-in-excel-vba – QHarr