![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.1ベストアンサー
- 回答日時:
セル系のイベント制御は、標準モジュールではなく、Microsoft Excel Objects の「Sheet1」とかの処理をしたいシート名のところをダブルクリックしてコードを書きます。
試しにコードを書いてみました。おそらくこの動作で期待した動作を実現しているかと思います。
Target には、変更されたセルのRange値が入っているので、そこの列(Column)と行(Row)をみて変更されたセルを判断してます。
値が入ったとき、となっていたので、あえて trim() して値があった場合、という判定にしてます。
※インデントを見やすくするため、全角空白文字を使用していますので、コピー&ペーストする場合は注意してください。
以下ソースコード
'============================================================
' ワークシートのセルが変更された時に発生するイベント
Private Sub Worksheet_Change(ByVal Target As Range)
Static iCount As Integer
Dim i As Integer
' 初期化処理
If iCount = 0 Then
iCount = 1 ' Staticは0に初期化されるので1に初期値を変更
End If
' 変更したセルに値が入った場合条件成立
If Trim(Target.Value) <> "" Then
' 行番号が2000以内のとき条件成立
If Target.Row <= 2000 Then
' B列で、5の倍数の行のとき条件成立
If (Target.Column = 2) And (Target.Row Mod 5) = 0 Then
' A列に値をセット
For i = 0 To 4
' 値のセット
Cells(Target.Row + i, "A") = iCount
' 1件ごとにカウンタを加算
iCount = iCount + 1
Next
End If
End If
End If
End Sub
ありがとうございます!こんなやり方があるんだーと分かりました。
そのため自分でちょっと仕様を変えてしまいました。(結局手詰まりになってしまいましたが・・・)もしよかったらヒントをいただけるとうれしいです。
http://oshiete1.goo.ne.jp/oshiete_new.php3
No.2
- 回答日時:
一つ追記しておきます。
修正範囲の判定をしていないので、複数範囲を指定して値を入れたりするとエラーになってしまうので、Rangeの使用範囲まで見た方がいいかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Visual Basic(VBA) 別シートに順番で貼り付け 2 2023/04/13 19:53
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Visual Basic(VBA) vba 15 2023/04/07 12:33
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) IF関数について 5 2023/06/26 00:46
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
セルに値が入っていた時の処理
Visual Basic(VBA)
-
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
-
4
VBAで「セルに何か入っている場合」
Windows Me・NT・2000
-
5
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
6
【vba】指定範囲の中に任意の文字があるときの条件分岐
Excel(エクセル)
-
7
VBA 何かしら文字が入っていたら
Visual Basic(VBA)
-
8
エクセルのマクロをセルの値に応じて自動起動したい
Visual Basic(VBA)
-
9
別のシートから値を取得するとき
Visual Basic(VBA)
-
10
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
11
ある列のセルに特定の文字が入っていたら他のセルに決まった文字を入れる
Word(ワード)
-
12
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
13
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
14
エクセルで指定したセルのどれかに○がはいっていたら○を表示したいです。
その他(コンピューター・テクノロジー)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
17
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
18
エクセルマクロで特定の範囲が空白という条件
Excel(エクセル)
-
19
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
20
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで指定した日付から過去の...
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excel VBA、 別ブックの最終行...
-
特定のセルが空白だったら、そ...
-
【Excel】指定したセルの名前で...
-
screenupdatingが機能しなくて...
-
【VBA】指定したセルと同じ値で...
-
”戻り値”が変化したときに、マ...
-
エクセルの複数データーをダブ...
-
Excel vbaで特定の文字以外が入...
-
VBAコマンドボタンを押すたびに...
-
Excel2003 複数セル1列の入力済...
-
3桁または4桁の数値を時刻に...
-
Excelのプルダウンで2列分の情...
-
VBからEXCELのセルの値を取得す...
-
VBA初心者です。結合セルを保持...
-
セルの結果でマクロ実行
-
任意フォルダから画像をすべて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
TODAY()で設定したセルの日付...
-
EXCELで変数をペーストしたい
-
Excel VBA、 別ブックの最終行...
-
Excelのプルダウンで2列分の情...
-
VBA コピーして次の値まで貼り...
-
screenupdatingが機能しなくて...
-
エクセルVBAでコピーして順...
-
VBA初心者です。結合セルを保持...
-
セル色なしの行一括削除
-
VBAでセルをクリックする回...
-
Excel vbaで特定の文字以外が入...
-
DataGridViewの各セル幅を自由...
-
特定の文字を条件に行挿入とそ...
-
【VBA】指定したセルと同じ値で...
おすすめ情報