[[20170616085051]] 『空の行の追加と特定セルのコピー』(あっきー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『空の行の追加と特定セルのコピー』(あっきー)

いつも参考にしております。

前回も皆さんのお知恵をお借りしましたが、再度質問させていただきます。

今回は、空の行の追加および特定セルのコピー(範囲)についてご教示願います。

例)

   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 >


ご自身で判りにくいと思ったならば、判りやすく直してから質問して欲しいところです。E:H列は全部商品説明1ということは、全部同じ文字列を表しているのだろうけど、本当?、とか、1の場合は2行にする、といいながら、2の場合も対応したコードになっている?、とか。

ご提示のコードをデバッグして欲しいのでしょうか? それとも、途中まで作ったから後は誰か完成させて、なのでしょうか?
とりあえず、ここまで作れるならば、後はご自身で完成できると思うので、問題点だけ指摘しますと、「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.