2016-12-28 8 views

答えて

1

これは非常に問題ですが、数字xを割り当てず、整数ではないセルの値を割り当てないことが問題だと思います。以下のように変更すると動作する可能性があります。

x = Worksheets("Details").Range("A1").End(xlDown).row 
+0

あなたのアサーションは矛盾していますt。 Range( "A1")。End(xlDown) 'は、' Range'オブジェクトのデフォルトメンバーを暗黙的に呼び出します。これは '_Default'で*の* value *を返すでしょう細胞。 – ThunderFrame

+0

が編集されました。ありがとう。 –

1

まず、あなたは行番号を取得しようとしているので、x、およびないVariantためLong型変数でした。

オプション1:途中で空白のセルをスキップすることなく、最後の行を見つけることを

第二に、それはあなたが見つけようとしている列Aの最後の行の種類により異なります。

オプション2:途中の空白セルをスキップして最後の行を見つけます。

両方のオプションが以下のコードで実装されています。必要なオプションを使用してください。

ただ、これを達成するための別の方法を含むように

Private Sub CommandButton2_Click() 

    Dim x As Long 

    With Worksheets("Details") 
     ' option 1 : will get you the last row with data in Column A (without skipping blank cells in the middle) 
     x = .Range("A1").End(xlDown).Row 

     ' option 2 : will get you the last row with data in Column A (with skipping blank cells in the middle) 
     x = .Cells(.Rows.Count, "A").End(xlUp).Row 

     If OptionButton65 = True Then .Cells(x, 6) = "5" 
    End With 

End Sub 
0

コード - もRangeを使用し、あなたが持っている可能性があり、それはだのではなくプロパティ

Private Sub CommandButton2_Click() 
    Dim x As Range 
    Set x = Worksheets("Details").Range("F1").End(xlDown) 
    If OptionButton65 = True Then x.Value = "5" 
End Sub 

または単に:

Private Sub CommandButton2_Click()  
    If OptionButton65 = True Then Worksheets("Details").Range("F1").End(xlDown).Value = "5" 
End Sub 
関連する問題