Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 从我刚刚打开的VBA工作簿中删除所有行_Excel_Vba - Fatal编程技术网

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学习,因为我的工作,我是一个宏新手,但我理解你写的一切。