[[20130813142308]] 『別表から行ごとにデータを抽出し、1行につき1つ』(げいたん) ページの最後に飛ぶ

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

 

『別表から行ごとにデータを抽出し、1行につき1つのラベル表に貼り付ける』(げいたん)

毎日、仕入れた商品の一覧表をEXCELデータで取ってきています。
1行につき、1つの商品となっています。
それぞれの商品名や商品コードなど全部で5つの項目(列A〜列E)を、
別ファイルのラベル形式の表に抽出したいと思っています。

これを、データがなくなるまで繰り返す構文。
さらに、転記先の位置を指定する構文を追加したいのですが、可能でしょうか?

ラベル.xlsmのファイルには1シートに6つのラベルを印刷したいと思っています。

 1  4
 2  5
 3  6

といった並びで、1つの数字のエリアに列A-Eで抽出したデータが
すべて入る形です。

いま、下記のような構文を書いてみました。

元データファイル名 = 棚ラベルデータ.xlsm
転送先ファイル名  = ラベル.xlsm

Sub ラベル転記()
'
' ラベル転記 Macro
'

'

    Windows("ラベル.xlsx").Activate
    Range("A2:E2").Select
    ActiveCell.FormulaR1C1 = "=IF(棚ラベルデータ.xlsm!R3C1="""","""",棚ラベルデータ.xlsm!R3C1)"
    Range("A3:E3").Select
    ActiveCell.FormulaR1C1 = "=IF(棚ラベルデータ.xlsm!R3C4="""","""",棚ラベルデータ.xlsm!R3C4)"
    Range("A4:E4").Select
    ActiveCell.FormulaR1C1 = "=IF(棚ラベルデータ.xlsm!R3C5="""","""",棚ラベルデータ.xlsm!R3C5)"
    Range("A5:C6").Select
    ActiveCell.FormulaR1C1 = "=IF(棚ラベルデータ.xlsm!R3C2="""","""",棚ラベルデータ.xlsm!R3C2)"
    Range("E5").Select
    ActiveCell.FormulaR1C1 = "=IF(棚ラベルデータ.xlsm!R3C9="""","""",棚ラベルデータ.xlsm!R3C9)"
    Range("E6").Select
    ActiveCell.FormulaR1C1 = "=IF(棚ラベルデータ.xlsm!R3C8="""","""",棚ラベルデータ.xlsm!R3C8)"
    Range("A8:E8").Select
    ActiveWindow.WindowState = xlMaximized
    Range("A2:E2").Select
    Windows("棚ラベルデータ.xlsm").Activate
End Sub

どうか、ご教示ください。

Windows7 で Excel2007を使用しています。よろしくお願いいたします。


こんにちは
どなたの回答もないようですのでコメントさせていただきます。
まず、
棚ラベルデータのシート名が記載されていませんので正確な元データセルが不明。
5項目を6枚のシートに反映させるセル位置が不明。

すべてマクロ化せずに、VLOOKUP関数と組み合わせで、棚ラベルデータの最下行と繰り返し数を変数とする for i = 2 to LastRow がよく利用されています。

以下のサンプルシートが参考になると思います。

http://www11.plala.or.jp/koma_Excel/contents4/mame4034/mame403401.html

すべてマクロを希望でしたらすみません。

(minoru)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.