2017-09-29 6 views
-1

私はExcelで作業していて、セルの現在の値に基づいてセル全体の値に基づいてセルの値を更新するコマンドボタンを作成しようとしています。コマンドボタンを使用してExcelの現在の値に基づいてセルの範囲を更新するにはどうすればよいですか?

具体的には、私は整数の位置IDを持つ列を持っています。クリックすると、値1または2を含む列内のすべてのセルが10に変更されます。次に、事前記録されたソートマクロを実行します。

キーと思われるカスケードIf文に関する情報が見つかりました。私は以下のようなものが働くかもしれないと思ったが、論理エラーがあることを私に伝え続けている。

Private Sub CommandButton1_Click() If Range("LocationID") = 1 Then Range("LocationID") = 10 Else If Range("LocationID") = 2 Then Range("LocationID") = 10 End If End Sub

場所は、私が検索しようとしていると私はマクロを呼び出し、他のボタンのように動作すると仮定しているためchange.Iは、まだこのに私のソートマクロを追加していない列です。

これはおそらく基本的なことですが、VBAはまったく私にとって外国です。私は午前中にこの問題に対して頭を叩いています。助けてくれてありがとう!

+0

マクロレコーダーを使用して、いくつかのコードを始めることができます。 – braX

+0

ソート機能を記録することができます。その部分は簡単です。私が問題を抱えているのは、指定された値を持つすべてのセルの列を検索して変更することです。私はその種のコードロジックを記録できるとは思わない。 –

答えて

0

あなたはこのような何か意味のようですね:

Private Sub CommandButton1_Click() 
     Dim lRow As Long 
     lRow = 1 

     Do Until Range("A" & lRow) = "" 
     Select Case Range("A" & lRow) 
      Case 1, 2 
      Range("A" & lRow) = 10 
     End Select 
     lRow = lRow + 1 
     Loop 
End Sub 

注:私はちょうどそれはあなたが必要な値を持つ列に、すべての3つの場所でそれを変更したいと思うでしょう列Aだと推測しました。

関連する問題