![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?a65a0e2)
エクセルで、データの右端の列に表示されている、別のシートからVLOOKUPで返した数値の行数を、数値が表示された行をコピーしてそのすぐ下に挿入し、更に、コピーした行の指定したセルの値を【10倍してプラス1】した数値をデータの一番右の列に表示させ、挿入した行だけにその連続した値を表示させたデータを別シートに作成することは可能でしょうか?
添付しました写真の【Q】列に表示された値の行数だけ、コピーしてすぐ下に挿入(#N/Aは0とする)し、【I】列『商品コード』の数値×10+1の数値を、コピー元の行の【S】列に表示、挿入行にのみそれぞれにその数値の連続した値を表示させたデータを、シート2(補足で添付致します)に表示させたいのです。(4行目が項目、データは5行目からです。)
セットコードで入力されたデータを、セットの内訳をすべて表示させたデータにする事が目的ですが、データの量が1000件近くなるかもしれず、手作業では無理なため試行錯誤しておりますがどうしてもうまくいきません。
挿入した行へ、セット内訳の商品コード・商品名・価格等を、また別シートからVLOOKUPで返す予定です。
VBAにお詳しい方、どうかどうか宜しくお願い致します。
![「エクセルで表示された値だけ行数をコピーし」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/5/542850330_5c2f05ac491b7/M.png)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?a65a0e2)
No.9ベストアンサー
- 回答日時:
以下のマクロを標準モジュールに登録してください。
Sheet2の挿入&コピーを行います。予めSheet2に関数を埋め込むということなので、
Sheet2のT列より右側は一切マクロでは更新しません。
Sheet2の4行目以降のA列からS列はSheet1の内容がコピーされるか、マクロにより内容が設定されるため、そこに関数を埋め込んではいけません。
----------------------------------------------------------
Option Explicit
Public Sub 挿入コピー()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim i As Long
Dim val As Variant
Dim copy_count As Long
Dim rng1 As Variant
Dim rng2 As Variant
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
maxrow1 = sh1.Cells(Rows.Count, 1).End(xlUp).Row 'sheet1の最大行取得
maxrow2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row 'sheet2の最大行取得
sh2.Range("A4:R4").Value = sh1.Range("A4:R4").Value
If maxrow2 > 4 Then
sh2.Range("A5:S" & maxrow2).ClearContents
End If
row2 = 5
For row1 = 5 To maxrow1
val = sh1.Cells(row1, "Q").Value
If IsNumeric(val) = False Then
copy_count = 0
Else
copy_count = val
End If
rng1 = "A" & row1 & ":R" & row1
rng2 = "A" & row2 & ":R" & row2
sh2.Range(rng2).Value = sh1.Range(rng1).Value
row2 = row2 + 1
For i = 1 To copy_count
rng2 = "A" & row2 & ":R" & row2
sh2.Range(rng2).Value = sh1.Range(rng1).Value
sh2.Cells(row2, "S").Value = sh1.Cells(row1, "I").Value * 10 + i
row2 = row2 + 1
Next
Next
MsgBox ("完了")
End Sub
年末からかかりっきりで頭を悩ませておりましたが、瞬時に希望通りのデータが表示されました!!本当に助かりました!!おかげ様で明日からスムーズに作業を進められそうです。tatsu99様、本当に有難うございました!!!
No.10
- 回答日時:
いろいろなわかりやすいサイトをご紹介くださり、得意ではないので大変助かります。勉強に役立てて、今年はステップアップしたと思います。ご親切に有難うございました!
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?a65a0e2)
No.7
- 回答日時:
補足要求です。
①コピーはSheet1のA~R列をそのままSheet2のA~R列へコピーすれば良いのですか?
(行の追加は②で行います。Q列の値がN/Aの場合でも行う1行分のコピーについてです)
②行をQ列の値の分、追加する時ですが、(例としてQ列の値が6なら)
Sheet1のA~R列をそのままSheet2のA~R列へコピーする。(6回行う)
Sheet2のS列は、Aheet1のI列×10+Nとする。
(Nは1回目のコピーの時1、2回目のコピーの時2、・・・6回目のコピーの時6とする)
上記①②の考え方であってますか。
③Sheet1のQ列の値が10以上になることはあるのですか?
質問の意図は、もし、あるなら(Q列の値=12とすると)、
I列のコードが100の時、S列へ設定する12回目の値は、1000+12=1012になる
がそれで良いのかということです。
④「挿入した行へ、セット内訳の商品コード・商品名・価格等を、また別シートからVLOOKUPで返す予定です。」とあるが、
これは、VBAでSheet2を作成したあとで、あなたが、Sheet2へVLOOKUPの関数式を埋め込むということでしょうか。
もし、そうなら、その作業は結構大変かと思いますが・・・・
tatsu99様、有難うございます。①、②ともおっしゃる通りです。②についてはsheet1のQ列の値が6なら、6行挿入してsheet2では同じデータの行が7行になります。
③は10以上にはなりません。(最大で7です。)
④は、sheet2に表示されたデータの右端にVLOOKUPでS列の値によってセット内訳(商品コード・商品名・価格・数量・小計)のデータが返るように関数を入れておき、sheet3に全て値貼付け、A~Oまでのデータに商品コード・商品名・価格・数量・小計の値が返った部分だけコピペするつもりでおります。(セット数は1セットに限られるかと見込まれるため、事前に受注データをフィルターで数量チェックすれば数量・小計もコピペできるかと思いました。)
7日から作業を開始しますため、私の知識ではこれ以上は時間的に準備できず、行の自動挿入ができれば大変助かるところです。。
No.6
- 回答日時:
なら、
Excelには、
行動を 記録し、
マクロ化する、
機能が あるから、
Excel自身に、
教えて貰えば いいよ。
記録する
https://www.forguncy.com/blog/20170726_macro
此 読んでね、
参考図書
http://www.asahi-net.or.jp/~ef2o-inue/menu/menu0 …
nouble1様、とてもわかりやすいサイトをお教えくださり、有難うございます!じっくり勉強して、今年はきちんと身に着けたいと思います。
No.5
- 回答日時:
No.3
- 回答日時:
再帰的に なりそうですね、
挿入する列にも、
値記載が あった場合、
どう扱うのですか?
S列は フィルさせれば、
十分でしょう、
VLOOKUPは もう出来るのですよね?
Evaluateか、WorksheetFunctionを、
持ちいれば、
問題無い事と 思います。
コピ等は 言及するまでも、
ないですよね?
演算も 出来ますよね?
後は、
組み立てるだけでは?
ご回答有難うございます。S列へは、コピーした行と挿入された行にのみ連続の値を表示させたく、その値から、セットの内訳データをコピー行と挿入行のみにVLOOKUPで返せればと思いました。ご回答くださった方法でもやってみます。感謝致します。
No.1
- 回答日時:
誰もが 答える前に、
お伺いします、
貴方は 其のシステムに、
VBAを 入れる事を、
許されますか?
尚、
許可無く 入れた場合、
解雇理由として、
必要十分な程の 重要案件なのですが。
何故なら、
悪意のあるプログラムも、
しばしば、
VBAの 形を、
取り得るからで、
其れ等は、
アンチウイルスソフトに、
掛からない事が 多く、
故に、
悪質に 見られる訳です。
No.1の方、質問をお読みくださり有難うございます。会社の事務作業で毎日の受注内容の取りまとめがあり、複雑な作業が発生し作業時間も限られています為、VBAの知識がなければこなせない状況で、努力しましたが時間が足りません。どのように作業するかは制限なく任されております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Googleスプレッドシートで、あるセルの値に応じて行を自動挿入したい 急いでいます! くわしい方、 3 2023/03/06 19:05
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Visual Basic(VBA) A列にある値をB列・C列にVBAで切り出し 3 2022/04/09 19:20
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
あなたの「プチ贅沢」はなんですか?
お仕事や勉強などを頑張った自分へのご褒美としてやっている「プチ贅沢」があったら教えてください。
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
Excelで、あるセルの値に応じて行を自動挿入したい
Visual Basic(VBA)
-
Excel で行を指定回数だけコピーしたい
Excel(エクセル)
-
excelで任意のセルを指定回数コピーペーストする方法を教えてください
Excel(エクセル)
-
-
4
エクセルでセルの値分の個数の文字列を自動で入れたい
Excel(エクセル)
-
5
エクセルでの行数・列数を指定しての一括コピーの方法
Excel(エクセル)
-
6
Excel VBA 複数行を数の分だけ挿入したい
Visual Basic(VBA)
-
7
Excel 指定行までコピーをおこないたい
その他(Microsoft Office)
-
8
エクセル マクロで数値が変った時行挿入できますか
Excel(エクセル)
-
9
エクセルで指定回数だけ別セルに繰り返す方法
Excel(エクセル)
-
10
特定の条件の時に行を挿入したい
Excel(エクセル)
-
11
excelで、セル内に文字が入力される毎に行が自動挿入される仕組みを作りたいのですが…
Excel(エクセル)
-
12
LARGE関数 飛び飛びの範囲を指定
Excel(エクセル)
-
13
Excelで行ごとコピー、同じ行を3行にしたい
Excel(エクセル)
-
14
VBAで条件が一致する行をコピーしその1つ下へ挿入
Excel(エクセル)
-
15
特定の文字を条件に行挿入とそこからセルデータを追加するVBAについて
Visual Basic(VBA)
-
16
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
17
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
18
特定のセルにある数のぶんだけ、自動で列をふやしたい
Excel(エクセル)
-
19
Googleスプレッドシートで、あるセルの値に応じて行を自動挿入したい 急いでいます! くわしい方、
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
シート保護の状態で行の追加を...
-
エクセル マクロ 貼り付け先が...
-
エクセルで空白以外のセルの値...
-
Excelの非表示列も含めてコピー
-
エクセルの関数について(日付で...
-
エクセルで表示された値だけ行...
-
エクセルで反転コピー
-
Excelのマクロで不規則に連番を...
-
エクセルVBA 複数列をコピーす...
-
Excel 自動セル 抽出 別シート...
-
エクセルVBA 並び替え セルの...
-
【マクロ】IF複数条件の上限に...
-
エクセルのマクロ、AVERAGEIFを...
-
Excel 条件に従いセル移動するには
-
エクセル VBA 指定の範囲内をコ...
-
エクセルマクロで、現在の時刻...
-
特定の桁数を抽出
-
行数が不規則な一週間ごとの合...
-
Excel関数のことで教えてくださ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
エクセルで表示された値だけ行...
-
シート保護の状態で行の追加を...
-
Excelの非表示列も含めてコピー
-
エクセルの関数について(日付で...
-
エクセルで空白以外のセルの値...
-
一行おきにコピーするマクロが...
-
エクセル マクロ 貼り付け先が...
-
エクセルで反転コピー
-
エクセルVBA 複数列をコピーす...
-
エクセル VBA 指定の範囲内をコ...
-
エクセルで行挿入した際、自動...
-
特定の桁数を抽出
-
[Excel VBA]空白セル以外に連番...
-
エクセルでマクロを使った特定...
-
Excel VBAで日にちを入力して線...
-
マクロで値がある列までコピー
-
マクロ初心者です、小数点6桁で...
-
【マクロ】IF複数条件の上限に...
-
行数が不規則な一週間ごとの合...
おすすめ情報
遅くなりましたがsheet2に表示させたいデータです。元のsheetと同じく項目が4行目に来ます。(見づらく申し訳ありません。)Q列の値の行数が自動挿入さえできれば、おかげ様であとは何とかできそうです。どうか宜しくお願い致します。