0
ディレクトリ内のすべてのcsvファイルからデータをエクスポートして1つの新しいブックに格納する次のコードを作成しました。より少ないデータ数でも動作しますが、何千もの行がある場合は動作しません。VBA:1つのブックから別のブックにセルをコピーして大きいデータでは機能しない
Sub Button4_Click()
Dim CSVPath
Dim thisWb As Workbook
Dim wkb As Excel.Workbook
Dim CSVUsed As Range
Dim i As Integer
Set thisWb = ActiveWorkbook
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=thisWb.Path & "\new_workbook.xls"
'ActiveWorkbook.Close savechanges:=False
Set FS = CreateObject("Scripting.FileSystemObject")
CSVPath = ThisWorkbook.Path & "\CSV"
If Not FS.FolderExists(CSVPath) Then
MsgBox "CSV folder does not exist."
Exit Sub
End If
Set thisWb = ActiveWorkbook
For Each file In FS.GetFolder(CSVPath).Files
If Right(file.Name, 3) = "csv" Then
Set wkb = Application.Workbooks.Open(file.Path)
Set CSVUsed = wkb.Sheets(1).UsedRange
For i = 1 To CSVUsed.Rows.Count
For j = 1 To CSVUsed.Columns.Count
thisWb.Sheets(1).Cells(j, i).Value = CSVUsed.Cells(j, i).Value
Next
Next
End If
Next
End Sub
名前として列の数が固定されていない、私は範囲を使用しませんでした。 誰かが助けることができますか?
VBAはVB.NETではありません。タグを誤用しないでください。 – Steve
vba:VB.NETではなく、VB.NETと同じです。 – Plutonix
Dim i長くても、jは長さが –