这似乎太容易了,但我非常绝望。
我需要做的是获取“D”列的最后一个值,该列
数量大,例如987654321,如果该值仅为两位数,则代码正常。我只是无法确定问题。
Dim lastRow As Long
lastRow = Cells(Rows.Count, "D").End(xlUp).Value
Sheets("Sheet1").TxtBox1.Value = lastRow
答案 0 :(得分:12)
就像我在评论中提到的那样,对于如此大的数字,你必须将它声明为双。
Dim lastRow As Double
或者,因为你想将它存储在文本框中,你可以做两件事
将其直接存储在文本框中。
Option Explicit
Sub Sample1()
Dim lastRow As String
With Sheets("Sheet1")
lastRow = .Cells(.Rows.Count, "D").End(xlUp).Value
.TextBox1.Value = lastRow
End With
End Sub
Sub Sample2()
With Sheets("Sheet1")
.TextBox1.Value = .Cells(.Rows.Count, "D").End(xlUp).Value
End With
End Sub
答案 1 :(得分:4)
Long只能处理高达2.1B的值!对于任何较大的值,最好使用Double
而不是Long