我正在尝试找到一种方法,将变量数用作行并保留固定的列值,例如:
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
比如,我如何将“myRow”放在Formula1中:=“= $ BA $ 13 =”“Y”“”
再次感谢,
dim myRow as long
myRow = <foo>
Set myRange = Range("N" & myRow)
顺便说一句:避免在你的代码中使用.Select
,它会减慢速度并导致其他困难
你刚刚把你的语音标记("
)放在了错误的地方。你的两个选择是使用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