
No.2
- 回答日時:
一つ追記しておきます。
修正範囲の判定をしていないので、複数範囲を指定して値を入れたりするとエラーになってしまうので、Rangeの使用範囲まで見た方がいいかもしれません。
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
4
VBAで「セルに何か入っている場合」
Windows Me・NT・2000
-
5
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
6
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
7
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
8
VBAで空白セルにのみ数値を代入する方法
Excel(エクセル)
-
9
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
10
セルに入力するたびにマクロを実行する
Visual Basic(VBA)
-
11
エクセルでセルに文字が入力されたらマクロを実行
Excel(エクセル)
-
12
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
13
未記入がある場合はマクロを実行させない方法
その他(Microsoft Office)
-
14
【VBA】指定した検索条件に一致したら別シートに転記したい
Visual Basic(VBA)
-
15
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
16
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
17
セルに値が入ったらマクロを実行したい!
Excel(エクセル)
-
18
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
19
VBA 「文字が入っていたら、上下に線を引く」
Excel(エクセル)
-
20
別のシートから値を取得するとき
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
vba エクセルマクロのことで教...
-
5
vba 隣のセルに値がある行だけ...
-
6
Excel VBA、 別ブックの最終行...
-
7
特定のセルが空白だったら、そ...
-
8
EXCELのVBA-フィルタ抽出後の...
-
9
セルの結果でマクロ実行
-
10
セル色なしの行一括削除
-
11
Excel VBAで、 ヘッダーへのセ...
-
12
エクセル マクロで セルの範...
-
13
screenupdatingが機能しなくて...
-
14
VLOOKUP関数で別ファイルを指定...
-
15
B列に特定の文字列が入っている...
-
16
【VBA】指定したセルと同じ値で...
-
17
【EXCEL VBA】Range("A:A").Fi...
-
18
vbsのセル値の取得について
-
19
連続する複数のセル値がすべて0...
-
20
Excelのハイパーリンクにマクロ...
おすすめ情報
公式facebook
公式twitter