你好,我是新来的,我是VBA编码的新手,炒得告诉我,如果我的代码有问题,StackOverflow是最好的帮助网站。
我正在
运行时错误1004对象_global失败的方法范围
此行发生错误
Set rng = ws.Range("Kumulatív Gross Loss (mio)").Select
我认为我可以通过它们包含的任何值来引用范围。那么请我在哪里弄错了?不,它不是命名范围我只是想根据它的值“KumulatívGrossLoss(mio)”选择它
Option Explicit
Sub sum_funkcie()
Dim MonthYear As String
Dim KGL As Double
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Set wb = ActiveWorkbook
Set ws = wb.Sheets("Graf Neg. Loss")
Set rng = ws.Range("Kumulatív Gross Loss (mio)").Select
MonthYear = ws.Range("A1").End(xlDown)
KGL = ws.Range("Kumulatív Gross Loss (mio)").End(xlDown)
End Sub
答案 0 :(得分:3)
您无法通过其值引用范围,您可以为范围定义名称并使用该命名范围作为参考。
您需要做的是搜索值,然后选择单元格:
替换:
Set rng = ws.Range("Kumulatív Gross Loss (mio)").Select
使用:
Dim csel As Range
With Worksheets("Graf Neg. Loss").Cells '
Set csel = .Find("Kumulatív Gross Loss (mio)", LookIn:=xlValues)
If Not csel Is Nothing Then
csel.Select
End If
End With
答案 1 :(得分:0)
抛弃后缀question1 = input("what is the capital of india ")
answer1 = "delhi"
print("")
question2 = input("what is the capital of telangana ")
answer2 = "hyderabad"
print("")
question3 = input("what is the capital of andhra pradesh ")
answer3 = "amaraavathi"
print("")
score = len([])
if question1 == answer1 :
print("correct answer")
print('')
else :
print('wrong answer')
print('')
if question2 == answer2 :
print("correct answer")
print('')
else :
print("wrong answer")
print('')
if question3 == answer3 :
print("correct answer")
print('')
else :
print("wrong answer")
print('')
if question1 == answer1 :
score.append(3)
else :
score
if question2 == answer2 :
score.append(2)
else :
score
if question3 == answer3 :
score.append(3)
else :
score
print(score)
,并注意.Select
的参数必须是命名范围(或单元格引用):您无法引用单元格内容。
Range
无论如何, Set rng = ws.Range("Kumulatív Gross Loss (mio)")
会返回对ws.Range
的引用,并且用户选择引起的VBA可能会让用户感到烦恼。
如果仍然导致错误,请检查您是否正确拼写了范围名称。该工作表的范围是全局的还是本地的?它应该是后者。