【发布时间】:2016-09-03 07:38:42
【问题描述】:
对于这里的巫师来说,这可能是一个非常基本的。
我正在尝试通过根据输入的信息计算它来格式化工作表中的特定单元格,并且我为该部分提供的代码工作正常。通过输入名称,我在另一个单元格中获得了单元格引用,例如 Y5。我正在尝试选择该值(单元格地址)作为定义的变量celref。然后在我要更新的工作表上,我希望celref 中的单元格接收分配的格式。我使用的代码是:
Sub confirm()
Dim NAM As String
Dim celref As String
Worksheets("Morning").Select
NAM = Range("C3").Value
celref = Range("D3").Value
answer = MsgBox("Confirm sign in for " + NAM, vbYesNo + vbQuestion, "Confirm Sign In")
If answer = vbNo Then GoTo Bye
Worksheets("details").Select
Range(celref).Select '<========= This is where I get the error!
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
之后还有一些代码,但似乎是导致问题的范围选择。请问我犯了什么新手错误?
【问题讨论】:
-
D3 中的值是多少?
-
做一个
Debug.Print Range("D3").Value并报告它是什么。 -
D3 中的值是对这个公式的评估:=$M$1&MATCH(C3,kidnames,0)+4 当前给出结果'Y5',这是我要格式化的单元格“细节”
-
是的,我确定我确实需要学习如何避免使用选择,但目前我最需要做的就是让这段代码正常工作:-)
标签: excel formatting vba