5

これは簡単すぎるように思えるかもしれませんが、私は必死です。

私がする必要があるのは、列「D」の最後の値を取得することです

大量数、ex. 987654321、値が 2 桁のみの場合、コードは問題ありません。問題を特定できません。

Dim lastRow As Long
lastRow = Cells(Rows.Count, "D").End(xlUp).Value
Sheets("Sheet1").TxtBox1.Value = lastRow
4

2 に答える 2

12

私のコメントで述べたように、そのような多数の場合、それをダブルとして宣言する必要があります。

Dim lastRow As Double

または、テキストボックスに保存するため、2つのことができます。

  1. 文字列として宣言する
  2. テキストボックスに直接保存します。

    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
    
于 2013-03-22T08:54:08.130 に答える
4

Long は 2.1B までの値しか処理できません! より大きな値の場合は、Double代わりに使用することをお勧めしますLong

于 2013-03-22T08:49:28.393 に答える