2
VBAの新機能です。私は2枚のシートを持っています。すなわち、sheet1は入力ディレクトリと出力ディレクトリのパスを持っています。 シート2で私はコードを開始しました。私は、フォルダ内のストアである複数のxlsファイルからデータを読み取ろうとしています。このフォルダパスはsheet1で指定されています。私は、すべてのファイルのヘッダーをすべてのxlsファイルから列のsheet3にコピーしたいと考えています。 私のコードは正常に動作していますが、ファイルパスを直接指定しましたが、別のシートから取得したいと考えています。私を助けてください。以下は私のコードであり、私はsheet1をattchedしています。 VBAの別のシートからファイルパスを取得する方法
Public Sub CommandButton1_Click()
'DECLARE AND SET VARIABLES
Dim wbk As Workbook
Dim Filename As String
Dim Path As String
Dim mainwb As Workbook
Dim ws As Worksheet
Dim search_result As Range 'range search result
Dim blank_cell As Long
Dim wb As Workbook
Path = "D:\Testing\Data\Input\"
Filename = Dir(Path & "*.xls")
'--------------------------------------------
'OPEN EXCEL FILES
Do While Len(Filename) > 0 'IF NEXT FILE EXISTS THEN
Set wbk = Workbooks.Open(Path & Filename)
'MySheet = Application.Caller.Worksheet.Name
'Set sh = MySheet()
'Variable = ActiveSheet.Name
' Sheets(Variable).Range("A1:D1").Copy
'Sheets("Sheet2").Column(B2).Select.Activate.Paste
' Sheets("Sheet2").Active
'Columns("B2").Select
Set wbk = ActiveWorkbook
Variable = ActiveSheet.Name
wbk.Sheets(Variable).Rows(1).EntireRow.Copy
Workbooks("Tool.xlsm").Activate
' Workbooks("DFT Tool.xlsm").Sheets("Sheet2").Activate
'ActiveWorkbook.ActiveSheet
'Sheets("Sheet2").Activate
'ActiveSheet.Columns("E").Select
' Range("E1").End(xlDown).Offset(1, 0).Select
'ActiveSheet.Paste
Set wb = ActiveWorkbook
Set ws = wb.Sheets("Sheet2")
For Each cell In ws.Columns(3).Cells
If IsEmpty(cell) = True Then cell.Select: Exit For
Next cell
Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
' Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
wbk.Close savechanges:=False
Filename = Dir
Loop
End Sub
アドバンス
Application.Workbooks( "Your_Workbook")ワークシート( "Your_Sheet")細胞(2、2) – Heini
は試みたが、答えを – Amar
おかげで動作していない....今のコードではうまく機能。しかし、問題は、最初のファイルが開かれ、データをsheet2に正常にコピーするときです。オープンされたファイルは自動的に閉じられないので、 "プライバシー警告:この文書にはマクロ、ActivXコントロール、XML拡張パック情報が含まれています......."のようなポップアップが表示され、はいをクリックする必要があります。この方法を避ける方法 – Amar