- 締切済み
vba
vbaについて 下記のプログラム教えてほしいです。 F5からL20に、1~30までの数字がランダムに入力されています。 空欄もあります。 クリックしたセルが空欄の場合と、値が30の場合は何もしない。 クリックしたセルに値がある場合、その値をコピーし、 F21に値を+1して貼り付ける。 わかりますかね?;; なるべく省略された簡潔なプログラム教えてほしいです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- watabe007
- ベストアンサー率62% (476/760)
>クリックしたセルが空欄の場合と、値が30の場合は何もしない。 シートモジュールに貼り付けてお試しください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("F5:L20")) Is Nothing Then Exit Sub If Target.Value = "" Or Target.Value = 30 Then Exit Sub Range("F21").Value = Target.Value + 1 End Sub
- hallo-2007
- ベストアンサー率41% (888/2115)
エクセルにはクリックした場合に実行するイベントはありませんので ダブルクリックした場合で シート名のタブを右クリック=>コードの表示をクリックして VBエディターを起動 そこへ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Value <> "" And Target.Value <> 30 Then Range("F21").Value = Target.Value + 1 End If End Sub を貼り付けて閉じてください。 中身はわずか3行です。 そして、希望のセルをダブルクリックしてみてください。