【发布时间】:2020-04-01 02:30:09
【问题描述】:
我已经能够找到列号并将其转换为字母,但我无法弄清楚如何在定义范围时使用转换后的字母。我不断收到运行时 1004 错误。
我正在尝试识别包含特定行中最大值的列。然后使用该列查找第一个非零单元格并插入一行。以下是我的代码:
Sub ColNBR_Insert()
Dim maxCol As Long
Dim rngMaxCell As Range, rngVals As Range, C As Range, Where As Range
Dim lastNum0 As String
Dim ColLtr As String
Set rngVals = Worksheets("Charts").Range("F3:M3")
With Application.WorksheetFunction
Set rngMaxCell = rngVals.Find(.max(rngVals), LookIn:=xlValues)
If Not rngMaxCell Is Nothing Then
maxCol = rngMaxCell.Column
' MsgBox "The max value is in column " & maxCol
End If
End With
Set rngVals = Nothing
Set rngMaxCell = Nothing
'Convert To Column Letter
ColLtr = Split(Cells(1, maxCol).Address, "$")(1)
'Display Result
'MsgBox "Column " & maxCol & " = Column " & ColLtr
lastNum0 = "<>0"
Set C = Range(Range(ColLtr), Range(ColLtr))
C.Find(What:=lastNum0, After:=C(1), SearchDirection:=xlPrevious).Select
Selection.Offset(1).EntireRow.Insert Shift:=xlDown
End Sub
【问题讨论】:
-
只需使用
Cells,您根本不需要转换。 -
@BigBen 打败了我。无需转换。
-
或
Columns...