Excel VBA打开工作簿和复制内容

时间:2013-01-30 18:45:52

标签: excel vba excel-vba

我正在创建一个应该询问用户文件的VBA,然后复制第一张表的内容(工作表名称不是默认值并包含空格)..之后我需要删除特定的列..来自行我需要删除包含特定文本的行(大小写密集)

我现在所能做的就是加载文件,但不知道如何将数据复制到活动工作表!!

FileToOpen = Application.GetOpenFilename _
(Title:="Please Choose the RTCM File", _
FileFilter:="Excel Files *.xls (*.xls),")
''
If FileToOpen = False Then
MsgBox "No file specified.", vbExclamation, "Duh!!!" ' Notification that nothing is chosen
Exit Sub
Else ' Load the file, copy the first sheet and paste it in active sheet ...

End If

1 个答案:

答案 0 :(得分:0)

希望这会有所帮助。此代码将数据粘贴到已处于活动状态的工作表中。如果要将数据粘贴到特定工作表中,可以使用工作表(“工作表名称”)替换活动工作表。

我假设粘贴的数据只会从A列到Z列,请根据需要进行更改。

FileToOpen = Application.GetOpenFilename _
(Title:="Please Choose the RTCM File", _
FileFilter:="Excel Files *.xls (*.xls),")

If FileToOpen = False Then
    MsgBox "No file specified.", vbExclamation, "Duh!!!" ' Notification that nothing is chosen
    Exit Sub
Else ' Load the file, copy the first sheet and paste it in active sheet ...
    ThisWorkbook.Activate
    ThisWorkbook.ActiveSheet.Range("A1:Z65536").ClearContents
    Workbooks(FileToOpen).Activate
    lrow=Workbooks(FileToOpen).Sheets("Sheet1").Cells(65536,1).End(xlUp).Row
    Workbooks(FileToOpen).Sheets("Sheet1").Range("A1:Z" & lrow).Copy
    ThisWorkbook.Activate
    ThisWorkbook.ActiveSheet.Range("A1").PasteSpecial xlPasteValues
End If