簡體   English   中英

如何在vba中存儲范圍的行和列號,為什么會出現438運行時錯誤?

[英]How can I store the row and column numbers of a range in vba, and why am I getting a 438 runtime error?

我正在嘗試捕獲變量中游俠的行號和列號。

經過大量的谷歌搜索之后,似乎我可能不得不將它們存儲為Longs而不是Integers,但是不確定。 無論哪種方式,當我到達如下所示的行“ r1 = wb.ws1.Range(“ CI14”)。Row“時,都會收到相同的“ 438對象不支持此屬性或方法”錯誤。

Dim wb As Workbook
Set wb = Application.Workbooks("test.xlsm")
Dim ws1 As Worksheet
Set ws1 = wb.Worksheets("Worksheet1")

Dim r1 As Long
r1 = wb.ws1.Range("CI14").Row
Dim c1 As Long
c1 = wb.ws1.Range("CI14").Column
Dim rng1 As Range
Set rng1 = wb.ws1.Cells(r1, c1)

我正在嘗試獲取可以在while循環中迭代的內容,例如:

Do Until IsEmpty(rng1.Value)
    (conditional statement)
    r1 = r1 + 1
    Set rng1 = wb.ws1.Cells(r1, c1)
Loop

ws1是一個對象,不是wb對象的“方法”或“屬性”。

正確的語法是:

r1 = ws1.Range("CI14").Row

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM