我想追加所有工作表中的数据,但是在我的代码中,我只能从第一张表中追加。我写的代码将所有html文件转换为1个工作簿中的Excel,然后我想在1张表中附加。执行我的代码时,错误提示“无法更改合并单元格的一部分” 任何帮助将不胜感激。
Sub Demo()
'Convert HTML to EXCEL and Gathers a file
intChoice = Application.FileDialog(msoFileDialogOpen).Show
Dim strOpenFiles As String
Set WorkbookDestination = Workbooks.Add(xlWBATWorksheet)
If intChoice <> 0 Then
For i = 1 To Application.FileDialog(msoFileDialogOpen _
).SelectedItems.count
strPath = Application.FileDialog(msoFileDialogOpen _
).SelectedItems(i)
Set WorkbookSource = Workbooks.Open(strPath)
Set WorksheetSource = WorkbookSource.Worksheets(1)
WorksheetSource.Copy After:=WorkbookDestination.Worksheets(WorkbookDestination.Worksheets.count)
Rows("1:2").Delete Shift:=xlUp
WorkbookSource.Close
Next i
'Merges the Sheet
For i = 1 To ActiveWorkbook.Worksheets.count
a = ActiveSheet.Rows.count
Sheets(i).Activate
' ActiveSheet.UsedRange.Select
ActiveSheet.UsedRange.Copy
Worksheets("Sheet1").Activate
ActiveSheet.Paste
Next i
End If
ActiveWorkbook.SaveAs FileName:=Application.GetSaveAsFilename( _
FileFilter:="Excel Files(*.xlsx), *.xlsx")
End Sub
答案 0 :(得分:2)
避免合并细胞。他们让生活更艰难。在运行宏之前,浏览所有工作表并取消合并单元格。
而不是合并的细胞使用&#34;中心跨选择&#34;在“格式”对话框的“对齐”选项卡中。对于垂直合并的单元格,不要将它们合并。使用单元格边框确定属于一起的单元格。
这样,可以单独选择和寻址每个单元格,每行,每列,而不会出现任何错误或问题。