###実現したいこと
【要望】 データ管理をしているエクセルです。
社員データを追加したい場合、一番下の行に追加するのではなく、間に行を追加して入力していきたいのです。1行ずつ追加するのを可能になりました。
そこで、連続した2行を選択して2行新規で追加したい場合は、どうしたらよいでしょうか???
おわかりになる方いらっしゃいますでしょうか?
VBAは初心者です。
##流れ
╋━━━━━╋ ┃行の削除 ┃→ボタン ╋━━━━━╋ 列lFl K l L l M l N l Q ---------------------------------------------------- 7lNo 表示順 社員番号 名前 電話番号 部屋番号 8l1 1 1212 花田 ○○子 99-9999-9999 S 9l2 2 7833 花田 ××子 99-9999-10000 A 10l3 3 6137 花田 ○○男 99-9999-10001 B 11l4 4 5773 花田 ××男 99-9999-10002 C 12l5 1 5187 花田上 ○○子 99-9999-10003 D 13l6 2 3587 花田上 ××子 99-9999-10004 E 14l7 3 1799 花田上 ○○男 99-9999-10005 F 15l8 4 7387 花田上 ××男 99-9999-10006 G
☆名前の欄や電話番号は、VLOOKUPで自動的に表示しています。
###該当のソースコード
'指定の行番号を調べる
For Each rng In Selection.Rows
Row(cnt) = rng.Row
cnt = cnt + 1
Next rng
'行を追加する For cnt = 99 To 0 Step -1 If Row(cnt) <> "" Then Rows(Row(cnt)).Copy Rows(Row(cnt)).Insert Shift:=xlDown .Range("K" & Row(cnt) & ":" & "L" & Row(cnt)) = "" .Range("O" & Row(cnt) & ":" & "X" & Row(cnt)) = "" .Range("L" & Row(cnt)).Select End If Next cnt 'NOを振り直す Row_ALL = 1 For i = 8 To Cells(Rows.Count, "H").End(xlUp).Row If .Range("H" & i).Value = "" Then Exit For End If If 配送エリア退避 <> .Range("H" & i).Value Then 配送エリア退避 = .Range("H" & i).Value Row_CNT = 0 End If .Range("F" & i).Value = Row_ALL .Range("K" & i).Value = Row_CNT Row_ALL = Row_ALL + 1 Row_CNT = Row_CNT + 1 Next
どうぞよろしくお願いいたします。
##補足
わかりにくくてすみません。。
行を追加するのは、できるのですが、
選択している行がどこかROWを取得するのが、できないのです。。。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/07 07:13