[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空の行の追加と特定セルのコピー』(あっきー)
いつも参考にしております。
前回も皆さんのお知恵をお借りしましたが、再度質問させていただきます。
今回は、空の行の追加および特定セルのコピー(範囲)についてご教示願います。
例)
A B C D E F G H I J
1 0 ID 商品名1 価格 商品説明1
2 1 ID 商品名2 価格 商品説明1 商品説明2
3 0 ID 商品名3 価格 商品説明1
4 2 ID 商品名4 価格 商品説明1 商品説明2 商品説明3
5 0 ID 商品名5 価格 商品説明1
↓
A B C D E:H I:L M:P
1 0 ID 商品名1 価格 商品説明1
2 1 ID 商品名2 価格 商品説明1 商品説明2
3 1 ID 商品名2 価格 商品説明2
3 0 ID 商品名3 価格 商品説明1
4 2 ID 商品名4 価格 商品説明1 商品説明2 商品説明3
5 0 ID 商品名4 価格 商品説明2
6 0 ID 商品名4 価格 商品説明3
7 0 ID 商品名5 価格 商品説明1
商品説明はE:H,I:L,M:Pに入力してあります(各セル1つずつです)
行の追加は、A列の値の分だけ追加します。
Sub 行の追加()
Dim i AS Long,temp As Long For i = Range("A" & Rows.Count).End(xlUp).Rows To 1 Step -1 temp=Fix(Val(Cells(i,"A").Value)) if temp > 0 Then Rows(i+1).Resize(temp).insert Next End sub
空の行を追加して、A列が1の場合は、追加された行のE:Hに、元の行のI:Lを配置して、1行の内容を2行に分けたいと思っております。
わかりにくい説明ですので、大変恐縮ではございますが、よろしくお願いいたします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
ご提示のコードをデバッグして欲しいのでしょうか? それとも、途中まで作ったから後は誰か完成させて、なのでしょうか?
とりあえず、ここまで作れるならば、後はご自身で完成できると思うので、問題点だけ指摘しますと、「Range("A" & Rows.Count).End(xlUp).Rows」の部分の末端、Rows ではなく、Rowですね。
(???) 2017/06/16(金) 10:02
ご指摘ありがとうございます。
説明を補足させていただきます。
>商品説明1ということは、全部同じ文字列を表しているのだろうけど、本当?
につきましては、同じ文字列ではありません。
Eは重さ、Fは大きさといったように、商品に対するさまざまな説明が書かれております。
いただけた情報を参考にしながら進めさせていただきます。
(あっきー) 2017/06/16(金) 10:29
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.