VBAで以下のようなことが出来ますでしょうか? B列の任意の位置に数値が入っています。 また、空白や文字列も存在してます。 B列の任意のセルに数値を入力したときに、
VBAで以下のようなことが出来ますでしょうか? B列の任意の位置に数値が入っています。 また、空白や文字列も存在してます。 B列の任意のセルに数値を入力したときに、 そのセル以下の数値を書き換えたいです。 例えば添付画像のセルB10に3と入力した場合、 入力したセルより下にある数値を3→4,4→5,5→6,…のように 変更させたい。
Visual Basic | Excel・154閲覧・50
ベストアンサー
シートモジュールです。 Private Sub Worksheet_Change(ByVal Target As Range) Dim no As Long Dim r As Long With Target If .Column <> 2 Then Exit Sub If .Count > 1 Then Exit Sub If .Value = "" Or Not IsNumeric(.Value) Then Exit Sub Application.EnableEvents = False If .Value <= WorksheetFunction.Max(Range("B1:B" & .Row - 1)) Then MsgBox "上部の行に入力値以下の数字があります" Application.Undo Else no = .Value For r = .Row + 1 To Cells(Rows.Count, 2).End(xlUp).Row If Range("B" & r).Value <> "" And IsNumeric(Range("B" & r).Value) Then no = no + 1 Range("B" & r).Value = no End If Next r End If Application.EnableEvents = True End With End Sub
質問者からのお礼コメント
ご回答頂きありがとうございます。 やろうとしてたことが出来ました。
お礼日時:5/26 8:50