Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1597 / 13645 ツリー ←次へ | 前へ→

【73228】貼り付けで固まる 亜矢 12/12/5(水) 20:47 質問[未読]
【73229】Re:貼り付けで固まる ウッシ 12/12/5(水) 23:45 回答[未読]
【73230】Re:貼り付けで固まる 亜矢 12/12/6(木) 8:06 お礼[未読]

【73228】貼り付けで固まる
質問  亜矢  - 12/12/5(水) 20:47 -

引用なし
パスワード
   よろしくお願いします。
 コンテキストメニューからコピー貼り付けを行うとWorksheet_Changeの
 下記のプログラムでブックが固まってしまいます。
 Ctr+CでコピーしてCtr+Vで貼り付けても問題はなし、
 当然通常のキーボードからの入力も問題はありませんが、コンテキストメニュー
 からはコピー貼り付けだけが固まってしまいます。
 ご指導の程よろしくお願いします。

Private Sub Worksheet_Change(ByVal Target As Range)
R = Target.Row
C = Target.Column
If (C = 1 And R >= 3) Or (C = 2 And R >= 3) Or (C = 3 And R >= 3) Or (C = 4 And R >= 3) Then
  If Cells(R, 1) <> "" Then
  Cells(R, 5) = Cells(R, 1) & RR
  Cells(R, 6) = Cells(R, 1) & " " & Cells(R, 2) & " " & Cells(R, 3) & " " & Cells(R, 4)
  Else
  Cells(R, 5) = ""
  Cells(R, 6) = Cells(R, 1) & " " & Cells(R, 2) & " " & Cells(R, 3) & " " & Cells(R, 4)
  End If
end if
end sub

【73229】Re:貼り付けで固まる
回答  ウッシ  - 12/12/5(水) 23:45 -

引用なし
パスワード
   こんばんは

Option Explicit を変数宣言を強制するようにした方がいいです。

変数「RR」ってなんですか?

Worksheet_Change内でセルの内容を変更するなら、

Application.EnableEvents = False
セル内容の変更処理
Application.EnableEvents = True

とした方がいいです。

コピペするのは1セルですか?
複数セルの場合があるなら、そのようなコードに変更すべきです。

【73230】Re:貼り付けで固まる
お礼  亜矢  - 12/12/6(木) 8:06 -

引用なし
パスワード
   ▼ウッシ さん:
>こんばんは
>
>Option Explicit を変数宣言を強制するようにした方がいいです。
>
>変数「RR」ってなんですか?
>
>Worksheet_Change内でセルの内容を変更するなら、
>
>Application.EnableEvents = False
>セル内容の変更処理
>Application.EnableEvents = True
>
>とした方がいいです。
>
>コピペするのは1セルですか?
>複数セルの場合があるなら、そのようなコードに変更すべきです。
ありがとうございました。問題は解決しました。
 コピペするのは1セルです。変数RRは行Noのことでした。dim のところが
 一部記入されていませんでした。
 お手数をお掛けしました。

1597 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free