[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『2つの選択範囲に連番を振りたいです。』(pomy)
vbaが初心者のため、ご教授お願いします。
一つのシートに2つの表があります。
C列に入力があった場合、B列に其々”1”から始まる連番を入れたいです。
調べて下記のコードをコピーしましたが、
下記のコードではB2:B31にしか連番が付与されません。
B33:B59にも”1”から始まる連番を入れるには、どの様に修正したら良いでしょうか?
宜しくお願い致します。
B1タイトル B2:B31
B32タイトル B33:B59
−−−−−
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
i = Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Row If Cells(i, "C") <> "" Then Cells(i, "B") = i - 1 End If End Sub −−−−−
< 使用 Excel:Excel2010、使用 OS:Windows7 >
新たな番号を振るだけなら以下。
If i < 32 Then Cells(i, "B").Value = i - 1 ElseIf 32 < Target.Row Then Cells(i, "B").Value = i - 32 End If (???) 2014/10/24(金) 14:20
教えて頂いたコードに変更してみましたが、どうもおかしいです。
B1タイトル B2:B31 の表は
→C列に入力があるとB列が空欄で
C列に入力がないと連番が振られています。
B32タイトル B33:B59 の表は
→連番が振られていません。
『 i = Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Row』←がおかしいのでしょうか?
−−−−−
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
i = Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Row
If i < 32 Then Cells(i, "B").Value = i - 1 ElseIf 32 < Target.Row Then Cells(i, "B").Value = i - 32 End If End Sub
(pomy) 2014/10/24(金) 15:03
ロジックがおかしいのは、現在の行位置(Targetから判りますね)を判定に使っていない点。正しいですか?
それと、i にはB列に値のある最下行+1が入りますが、これは思った通りの内容ですか?
具体的に、どういう状態でどのセルにどういう値を入力すると、どこに幾つの値を代入して欲しいのですか?
(???) 2014/10/24(金) 15:31
If Cells(i, "C") <> "" Then は必要ですね。
やりたい事は、
下記の様に1つのシートに、2つの表があります。
C列に入力がある時のみ、隣のB列のセルに連番を振りたいです。
表?@ B2:B31 表?AB33:B59 の範囲は固定ですが
中身の入力される件数は毎回違います。
わかりにくい説明ですみませんが
宜しくお願いいたします。
表1) B列 / C列
1行目(タイトル)
2行目 1 あああ
3行目 2 あああ
4行目 3 あああ
5行目
↓省略
31行目 -表の最終行-
表2)
32行目(タイトル)
33行目 1 あああ
34行目 2 あああ
35行目 3 あああ
36行目
↓省略
59行目 -表の最終行-
(pomy) 2014/10/24(金) 16:13
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long
If Target.Column <> 3 Then Exit Sub 'C列
Application.EnableEvents = False For i = 1 To Target.Count With Target(i, 1) If .Value = "" Then .Offset(0, -1).Value = "" Else If .Row < 32 Then .Offset(0, -1).Value = .Row - 1 ElseIf 32 < .Row Then .Offset(0, -1).Value = .Row - 32 End If End If End With Next i Application.EnableEvents = True End Sub (???) 2014/10/24(金) 17:08
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.