【发布时间】:2015-11-12 07:53:34
【问题描述】:
我尝试进行研究,但对我想要实现的目标一无所获。我正在使用两个不同的文件; file1.csv(sheet1) 和 workbook1(sheet2)
file1.csv(sheet1) 包含来自 A:EW 列的数据,超过 1000 行,并定期更新新行
这里的最终目标是自动复制 file1.csv(sheet1) 的全部内容并将数据从 sheet1 粘贴到 workbook1(sheet2) 中,从 sheet2 上的 A2 开始,因为我需要 A1 在 sheet2 上保持空白
我还要注意,我不能提供实际文件,因为它们是机密文件,如果需要,我可以制作一个示例文件。
这是我目前在 workbook1 中的代码,但在向/从不同范围复制时不起作用。如果我将其更改为从 A:EW 复制到 A:EW 但是,它会很好用,我需要从 Sheet1 上的 A:EW 复制到 sheet2 上的 A2:EW。有人有什么建议吗?
Sub auto_open()
'
' auto_open Macro
'
ChDir "C:\"
Workbooks.Open Filename:="C:\Users\Username\Desktop\file1.csv"
Sheets("sheet1").Range("A:EW").Copy
Windows(ThisWorkbook.Name).Activate
Worksheets("sheet2").Activate
Range("A2:EW").Select
ActiveSheet.Paste
Windows("sheet1").Activate
Application.CutCopyMode = False
ActiveWorkbook.Close
' Change date/time format of column A from 20151111 090412 to 11/11/2015 9:04
Dim x As Integer
Dim y As Date
Dim z As String
Dim w As String
NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count
Windows(ThisWorkbook.Name).Activate
For x = 2 To NumRows
z = Cells(x, 1).Value
y = Mid(z, 5, 2) & "/" & Mid(z, 7, 2) & "/" & Left(z, 4)
w = Mid(z, 10, 2) & ":" & Mid(z, 12, 2) & ":" & Mid(z, 14, 2)
y = y + TimeValue(w)
Cells(x, 1).Value = y
Next x
Range("A2").Select
End Sub
【问题讨论】: