|
こんにちは。また教えてください。
sheet1のB列5行以下の行に値が入っています。
sheet1のC列5行以下の行にも値が入っています。
sheet1のD列5行以下の行にも値が入っています。
sheet2のB列5行以下の行に値を入れるべきセルが用意されています。
sheet2のC列5行以下の行にも値を入れるべきセルが用意されています。
いま標準モジュールでなくsheet1に、イベントプロシージャを作成しようとしています。
内容はこうです。
sheet1のB列の任意の行をダブルクリックすると、同じ行のC列およびD列の値が、sheet2のそれぞれB列およびC列にペーストされる...という具合です。
ただしsheet2のB列およびC列には、それぞれそすでに値が入っている可能性があります。
入っている場合、xlDownを使って最初にみつかった空白のセルに当該の値をペーストしたいです。
なおsheet2のB5に値が入っていればC5にも必ず値が入っており、B6に値が入っていればC6にも必ず値が入っている・・・・という具合です。
Private Sub WorkSheet_BeforeDoubleClick()
Dim ws1 As Worksheet
Dim i As Integer
'sheet1のB列の任意の行をダブルクリック
'同じ行のC列およびD列の値をコピー
Set ws1 = Worksheets("Sheet2")
For i = 5 To ws1.Range("B5").End(xlDown).Row
'sheet2のB列にすでに値が入っているかチェック
'値が入っていrなければその行に
'値が入っていrれば1つ下の行をチェックして、値が入っていrなければその行に
'コピーした値をペーストする
'おわり
End Sub
で質問ですが、この書きかけのマクロをとりあえす実行したら
プロシージャの宣言がイベントまたはプロシージャの定義と一致していません、と出ます。
これがでると根本的な間違いをしてるということでしょうか?
すみません、クラスモジュールというのが理解できてないかもしれません。
|
|