![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
お世話になります。
添付左図のような表があります。
この表をボタンをクリックしたら右図の表の様にするためのVBAロジックをご教授いただけませんでしょうか?(右図の黄色部分の行を自動で挿入したいのです)
この表は担当者一人に対して売上区分というものをA-Hまで設けているため、一人のデータが必ず8行になります。
担当者数は現在は100名程度ですが、その都度変わるため可変にしたいです。
この担当者毎に8行あるデータを、ボタンを押したら新規に下行を挿入して[A+B]、続けて下行を挿入して[C+D]、[E+F]、[G+H]という具合に行を挿入する動作を全担当者のデータに全てに対して実施したいのです。
どなたかご教授いただけますでしょうか?
よろしくお願い致します。
環境 windows XP SP3 Excel2003
![「EXCEL VBA 自動で8行毎に行を挿」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/8/1358812_5497c8b2eec33/M.jpg)
No.1ベストアンサー
- 回答日時:
>一人のデータが必ず8行になります。
これが事実である前提で。
sub macro1()
dim LastRow as long
dim r as long
lastrow = range("A65536").end(xlup).row + 1
cells(lastrow, "A").resize(4,3).formular1c1 = "=R[-1]C"
cells(lastrow, "D").formular1c1 = "=R[-8]&""+""&R[-7]C" ’若しくは単に ="A+B"
cells(lastrow + 1, "D").formular1c1 = "=R[-7]&""+""&R[-6]C" ’以下同じ
cells(lastrow + 2, "D").formular1c1 = "=R[-6]&""+""&R[-5]C"
cells(lastrow + 3, "D").formular1c1 = "=R[-5]&""+""&R[-4]C"
for r = lastrow - 8 to 3 step -8
range("A65536").end(xlup).offset(-3).resize(4,1).entirerow.copy
cells(r, "A").insert
next r
’必要に応じて生かす
’range("A1").currentregion.value = range("A1").currentregion.value
end sub
keithinさん、早速のご回答ありがとうございます!
ご教授いただきました方法で完璧に実現できました!!
いつもご丁寧なご説明誠にありがとうございます。
本当にありがとうございました。
No.2
- 回答日時:
こんばんは!
D列は
「A+B」のような文字列表示でよい訳ですよね?
(足し算ではないという解釈)
>ボタンをクリックしたら・・・
とありますので、コマンドボタンを挿入したとしての一例です。
Private Sub CommandButton1_Click()
Dim i As Long, k As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 9 Step -8
Rows(i + 1 & ":" & i + 4).Insert
For k = 1 To 4
With Cells(i + k, 1)
.Value = .Offset(-1)
.Offset(, 1) = .Offset(-1, 1)
.Offset(, 2) = .Offset(-1, 2)
.Offset(, 3) = .Offset(-9 + k, 3) & "+" & .Offset(-8 + k, 3)
End With
Next k
Next i
End Sub
こんなんではどうでしょうか?m(_ _)m
tom04さん、早速のご回答ありがとうございます!
ご教授いただきました方法で完璧に実現できました!!
いつもいつもご丁寧なご説明本当にありがとうございます!!!
本当に助かりました(^^)。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) VBAでWordのネストした表にデータを挿入したい 4 2023/04/24 10:18
- Excel(エクセル) [スライサー]に関して、 1 2022/05/24 21:07
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) 列を挿入しても式の一部を固定するには 6 2023/05/31 21:57
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
Microsoftにofficeアプリについ...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
マイクロソフト 一時使用コード...
-
office365って抵抗感ないですか?
-
PC officeのアイコンを触ってい...
-
SUMIFS関数について
-
PCを買い換えました。 今使って...
-
Microsoft Officeを2台目のPCに...
-
複数の写真を1枚に印刷
-
Microsoft365で写真をアルバム...
-
エクセルの曜日別の参加者名簿...
-
Outlook で宛先が複数の場合の人数
-
マクロ1があります。 A1のセル...
-
Microsoft 365のディフェンダー...
-
Excel テーブル内の空白行の削除
-
【Excel VBA】PDFを作成して,...
-
みつも朗ってソフトはなにがで...
-
Outlookを立ち上げたらGoogleロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで2~4列目の3行目...
-
度々失礼します。VBAのプログラ...
-
エクセルVBAの配列について
-
VBA マクロを使って、コピー ...
-
EXCEL VBA 自動で8行毎に行を挿...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
Excelのマクロでボタンを押すと...
-
エクセル関数>参照ファイル名...
-
エクセル ボタンに設定したマク...
-
エクセルで、「いいね」のよう...
-
【Excel VBA】マクロでExcel自...
-
エクセルの表を複数枚印刷した...
-
マクロの保存先、開いてるすべ...
-
エクセル マクロ名にブック名...
-
エクセルの、記録を終了したマ...
-
エクセル;相対パスを絶対パスへ...
-
エクセルマクロで、別のブック...
-
複数のマクロボタンをまとめて...
おすすめ情報