Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
VBA:在所有工作表中选择单元格时遇到问题_Vba_Excel - Fatal编程技术网

VBA:在所有工作表中选择单元格时遇到问题

VBA:在所有工作表中选择单元格时遇到问题,vba,excel,Vba,Excel,我有一个查询,它删除除第一行之外的所有工作表中的所有数据。我想在每个工作表上都激活单元格“A2”,但我还没弄清楚。有什么想法吗 Sub ClearWorkbook() Dim Current As Worksheet For Each Current In Worksheets Current.Rows("2:" & Rows.Count).ClearContents Next End Sub 总结评论意见: Sub ClearWorkbook(

我有一个查询,它删除除第一行之外的所有工作表中的所有数据。我想在每个工作表上都激活单元格“A2”,但我还没弄清楚。有什么想法吗

Sub ClearWorkbook()
    Dim Current As Worksheet
    For Each Current In Worksheets
        Current.Rows("2:" & Rows.Count).ClearContents
    Next
End Sub

总结评论意见:

Sub ClearWorkbook()

Dim Current As Worksheet

For Each Current In Worksheets
    If Current.Cells(Current.Rows.Count, "A").End(xlUp).Row >= 2 Then
        Current.Rows("2:" & Current.Cells(Current.Rows.Count, "A").End(xlUp).Row).ClearContents
    End If
    Current.Activate
    Current.Range("A2").Select
Next

End Sub

总结评论意见:

Sub ClearWorkbook()

Dim Current As Worksheet

For Each Current In Worksheets
    If Current.Cells(Current.Rows.Count, "A").End(xlUp).Row >= 2 Then
        Current.Rows("2:" & Current.Cells(Current.Rows.Count, "A").End(xlUp).Row).ClearContents
    End If
    Current.Activate
    Current.Range("A2").Select
Next

End Sub

Current.Range(“A2”)。激活
-但为什么需要在每页上激活一个单元格?或者您还想做些什么?如果您将
Current.Rows(“2:”&Rows.Count)
更改为
Current.Rows(“2:”&Current.Range(“A”&Rows.Count)。End(xlUp),您也会得到更好的服务.Row
假设A列始终具有所有可能的数据,每个工作表的实际数据行。它突出显示了工作表中删除的所有单元格。对于尚未定义的大小,在复制和粘贴下一组数据时对我来说更容易。“范围(“A2”)。激活”似乎对所有工作表都不起作用,有什么想法吗?一些工作表受到保护吗?另外,请尝试
Current.Range(“A2”)。选择
这两种解决方案似乎都不起作用,即使工作表没有受到保护。您看到这方面有什么问题吗?所有工作表中都有数据。Sub ClearWorkbook()为工作表Current.Rows(“2:”&Rows.Count)中的每个当前值设置当前值作为工作表。ClearContents Current.Range(“A2”)。激活下一个End Sub
Current.Range(“A2”).Activate
-但是为什么您需要在每个页面上激活一个单元格?或者您还想做其他事情吗?如果您将
Current.Rows(“2:”&Rows.Count)
更改为
Current.Rows(“2:”&Current.Range(“a”&Rows.Count)。End(xlUp),您会得到更好的服务.Row
假设A列始终具有所有可能的数据,每个工作表的实际数据行。它突出显示了工作表中删除的所有单元格。对于尚未定义的大小,在复制和粘贴下一组数据时对我来说更容易。“范围(“A2”)。激活”似乎对所有工作表都不起作用,有什么想法吗?一些工作表受到保护吗?另外,请尝试
Current.Range(“A2”)。选择
这两种解决方案似乎都不起作用,即使工作表没有受到保护。您看到这方面有什么问题吗?所有工作表中都有数据。Sub ClearWorkbook()在工作表Current.Rows(“2:&&Rows.Count”)。ClearContents Current.Range(“A2”)。激活下一个结束子项出于某种原因,似乎也在删除第1行中的内容。想法?如果工作表已为空且
Current.Cells(Current.Rows.Count,“A”),则可能会发生这种情况.End(xlUp)。行
产生标题行。因此,您可以避免使用上述
If
子句,或者您可以将该数字增加
+1
。这似乎是出于某种原因删除了第1行中的内容。想法?如果工作表已为空且
当前.Cells(Current.Rows.Count,“A”)。结束(xlUp).Row
导致标题行。因此,您可以避免使用上述
If
子句,也可以将该数字增加
+1