VBA打开Excel文件并将工作表1数据粘贴到;“进口”;当前工作簿中的工作表
好的,我有一本当前的工作簿(原始工作簿),有几页。我想打开现有工作簿(数据工作簿),复制“数据工作簿”第1页中的所有内容,然后将所有内容粘贴到“原始工作簿”的“RRimport”页中。在这个过程结束时,我想关闭“数据工作簿”,到目前为止,我有以下代码,但是它当前在我的原始工作簿的工作表名称“ARGimport”之后粘贴一张新工作表:VBA打开Excel文件并将工作表1数据粘贴到;“进口”;当前工作簿中的工作表,vba,excel,Vba,Excel,好的,我有一本当前的工作簿(原始工作簿),有几页。我想打开现有工作簿(数据工作簿),复制“数据工作簿”第1页中的所有内容,然后将所有内容粘贴到“原始工作簿”的“RRimport”页中。在这个过程结束时,我想关闭“数据工作簿”,到目前为止,我有以下代码,但是它当前在我的原始工作簿的工作表名称“ARGimport”之后粘贴一张新工作表: Sub ImportData() Dim wb1 As Workbook Dim wb2 As Workbook Set wb1 = ActiveWorkboo
Sub ImportData()
Dim wb1 As Workbook
Dim wb2 As Workbook
Set wb1 = ActiveWorkbook
FileToOpen = Application.GetOpenFilename _
(Title:="Please choose a Report to Parse", _
FileFilter:="Report Files *.xls (*.xls),")
If FileToOpen = False Then
MsgBox "No File Specified.", vbExclamation, "ERROR"
Exit Sub
Else
Set wb2 = Workbooks.Open(Filename:=FileToOpen)
For Each Sheet In wb2.Sheets
If Sheet.Visible = True Then
Sheet.Copy After:=wb1.Sheets("ARGimport")
End If
Next Sheet
End If
wb2.Close
End Sub
多亏了他的帮助,我才弄明白这一点。更新和工作代码如下:
Sub ImportData()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim Sheet As Worksheet
Dim PasteStart As Range
Set wb1 = ActiveWorkbook
Set PasteStart = [RRimport!A1]
Sheets("RRimport").Select
Cells.Select
Selection.ClearContents
FileToOpen = Application.GetOpenFilename _
(Title:="Please choose a Report to Parse", _
FileFilter:="Report Files *.xls (*.xls),")
If FileToOpen = False Then
MsgBox "No File Specified.", vbExclamation, "ERROR"
Exit Sub
Else
Set wb2 = Workbooks.Open(Filename:=FileToOpen)
For Each Sheet In wb2.Sheets
With Sheet.UsedRange
.Copy PasteStart
Set PasteStart = PasteStart.Offset(.Rows.Count)
End With
Next Sheet
End If
wb2.Close
End Sub
这是你想要的吗
Sub ImportData()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim Sheet As Worksheet
Dim PasteStart As Range
Set wb1 = ActiveWorkbook
Set PasteStart = [RRimport!A1]
FileToOpen = Application.GetOpenFilename _
(Title:="Please choose a Report to Parse", _
FileFilter:="Report Files *.xls (*.xls),")
If FileToOpen = False Then
MsgBox "No File Specified.", vbExclamation, "ERROR"
Exit Sub
Else
Set wb2 = Workbooks.Open(Filename:=FileToOpen)
For Each Sheet In wb2.Sheets
With Sheet.UsedRange
.Copy PasteStart
Set PasteStart = PasteStart.Offset(.Rows.Count)
End With
Next Sheet
End If
wb2.Close
End Sub
嘿,谢谢,快到了!它现在粘贴到指定的工作表(RRimport)中,但是,我需要它删除该工作表上的旧内容并仅粘贴新数据。到目前为止,如果旧内容的内容一直到第999行,而新数据只有500行数据,那么第501-999行仍然存在。我需要它删除旧数据,只有新数据。谢谢你的帮助!事实上,我能找出剩下的。我已经更新了上面的代码。谢谢rdhs!