Excel 从我刚刚打开的VBA工作簿中删除所有行
问题:我需要删除除标题外的所有单元格,我制作了一个宏,但不起作用,表示长度错误 问题:如何删除整行 我将使用打开第二个工作簿的代码和我的代码Excel 从我刚刚打开的VBA工作簿中删除所有行,excel,vba,Excel,Vba,问题:我需要删除除标题外的所有单元格,我制作了一个宏,但不起作用,表示长度错误 问题:如何删除整行 我将使用打开第二个工作簿的代码和我的代码 Sub FileChooser() Dim FileR As String On Error Resume Next FileR = Application.GetOpenFilename(Title:="File chooser test", _ filefilter:="Excel file
Sub FileChooser()
Dim FileR As String
On Error Resume Next
FileR = Application.GetOpenFilename(Title:="File chooser test", _
filefilter:="Excel files (*.xlsx), *.xlsx")
If Not FileR = "False" Then
MsgBox FileR
End If
Workbooks.Open FileName:=FileR
End Sub
Sub DeleteRows()
Workbooks("DetailT.xlsx").Activate
ThisWorkbook.Sheets("R_Online_2020").Range("2:1049576").Delete xlUp
End Sub
请试试这个:
Sub DeleteRows()
Dim sh As Worksheet, wb As Workbook
Set wb = Workbooks("DetailT.xlsx")
Set sh = wb.Sheets("R_Online_2020")
sh.Range("A2:A" & sh.Range("A" & sh.Cells.Rows.count).End(xlUp).Row).EntireRow.Delete shift:=xlUp
End Sub
要对所有工作簿工作表应用相同的删除过程,可以使用以下代码:
Sub DeleteRowsOfAllSheets()
Dim sh As Worksheet, wb As Workbook
Set wb = Workbooks("DetailT.xlsx")
For Each sh in wb.Sheets
sh.Range("A2:A" & sh.Range("A" & sh.Cells.Rows.count).End(xlUp).Row).EntireRow.Delete shift:=xlUp
Next
End Sub
此工作簿
指代码所在的工作簿。。。这不是文件管理器
。谢谢@FaneDuru工作得很好!我有一个关于Excel VBA的问题,是否可以同时在多个工作表上工作,例如,如果工作簿中有10个其他具有不同名称的工作表,我是否可以将它们添加到集合中,这样我只需写一次sh.Range,它就可以删除其他工作表中的所有工作表,希望我解释清楚。@Zerrets:可以。您应该在Workbok.Sheets
之间进行迭代。如上所述声明工作簿,如上所述声明通用表,并对wb.Sheets中的每个sh使用。。。重复上述代码在图纸操作方面所做的操作,并以Next
结束。事实上,我将在我的答案中添加一段代码。我不确定你是否理解我在这里写的东西…非常感谢你,你在这里投资的时间,我有很多东西要从excel vba学习,因为我的工作,我是一个宏新手,但我理解你写的一切。