我试图找到一种方法,将变量号用作行并保留固定的列值,例如:
Dim Test As Long
Test = 15
Range("N & Test").Select
因此,我可以更改测试值,代码也会更改,但会保留列值。
当我使用上面的代码时,excel告诉我这个错误:
"运行时错误' 1004':方法'范围'对象' _global'失败
----------------------------------第一部分解决---------- -----------------
但是如果我尝试使用这样的代码如下:
Sub MyVBA()
Dim myRow As Long
myRow = 10
Set myRange = Range("A" & myRow) ' **Worked!!!**
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$BA$13=""Y""" ' **Here’s the problem, what can I do in this case?**
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 14474460
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
喜欢,我怎样才能把#my; myRow"在Formula1里面:=" = $ BA $ 13 ="" Y"""
再次感谢,
答案 0 :(得分:0)
dim myRow as long
myRow = <foo>
Set myRange = Range("N" & myRow)
BTW:避免在代码中使用.Select
,它会降低速度并导致其他问题
答案 1 :(得分:0)
你刚把你的语音标记("
)放在错误的地方。您的两个选项是使用Range
或Cells
。两者的例子如下。
Sub TryThis()
Dim test As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
test = 15
MsgBox ws.Cells(test, "N").Address
MsgBox ws.Range("N" & test).Address
End Sub