使用Range(“cell content”)引用单元格给出错误1004

时间:2018-02-01 09:06:59

标签: excel vba excel-vba

你好,我是新来的,我是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

2 个答案:

答案 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可能会让用户感到烦恼。

如果仍然导致错误,请检查您是否正确拼写了范围名称。该工作表的范围是全局的还是本地的?它应该是后者。