如何使用下面的代码将“B5”替换为“LastCol”,以便我可以连续激活最后一个非空白单元格?
Sub LastColumnInOneRow()
'Find the last used column in a Row: row 1 in this example
Dim LastCol As Integer
With ActiveSheet
LastCol = .Cells(6, .Columns.Count).End(xlToLeft).Column
End With
Worksheets("WARNINGS").Range("B5").Activate
ActiveCell.Offset(2, 0).Activate
End Sub
谢谢
答案 0 :(得分:0)
你可以这样做:
Sub LastColumnInOneRow()
'Find the last used column in a Row: row 1 in this example
Dim LastCol As Integer
With ActiveSheet
LastCol = .Cells(6, .Columns.Count).End(xlToLeft).Column
End With
With Worksheets("WARNINGS")
.Activate
.Cells(5,LastCol).Activate
End With
ActiveCell.Offset(2, 0).Activate
End Sub
答案 1 :(得分:0)
这个问题花了我一分钟才弄明白,但试试这个
Worksheets("WARNINGS").Cells(6, LastCol + 1).Activate
最后。
Sub LastColumnInOneRow()
'Find the last used column in a Row: row 1 in this example
Dim LastCol As Long
With ActiveSheet
LastCol = .Cells(6, .Columns.Count).End(xlToLeft).Column
End With
Worksheets("WARNINGS").Cells(6, LastCol + 1).Activate
End Sub
答案 2 :(得分:0)
出色!非常感谢。这是我最后使用的那个。
这是对数据透视表结果进行排序的第一步。 我保存了一个宏来对值进行排序,但是当我尝试运行它时,我现在收到“下标超出范围”警告。我想宏脚本正在使用我需要替换的静态范围,以便它可以运行到我可能拥有的任何数据透视表结果。
但我需要替换哪一行宏代码?
Sub SortLargestWarningsCount()
'查找行中最后使用的列:此示例中的第1行
Dim LastCol As Integer
With ActiveSheet
LastCol = .Cells(6, .Columns.Count).End(xlToLeft).Column
End With
Worksheets("WARNINGS").Cells(6, LastCol).Activate
ActiveCell.Offset(1, 0).Activate
'从最大排序
ActiveSheet.PivotTables("WarningsPivotTable").PivotFields( _
"[Warnings].[Column5].[Column5]").AutoSort xlDescending, _
"[Measures].[Count of Column5]", ActiveSheet.PivotTables("WarningsPivotTable"). _
PivotColumnAxis.PivotLines(12), 1
End Sub