[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『請求書に発注テーブルの特定列だけを抽出転記したいのですが?』(吉信)
Sub ByADVFilter2()
Range("発注テーブル").Columns(2).AdvancedFilter xlFilterCopy, , Range("I2"), True '「お客様」フィールドの重複を削除したリストを作成 Set MyJHani = Range("I2").CurrentRegion
For i = 2 To MyJHani.Rows.Count Sheets("テンプレート").Copy after:=Sheets(Sheets.Count)
Set MySht = Sheets(Sheets.Count)
MySht.Name = MyJHani.Cells(2).Value & "請求書" 'テンプレートのシートをコピーしてレイアウトを整えた状態で転記する
Range("発注テーブル").AdvancedFilter _ xlFilterCopy, MyJHani.Rows("1:2"), ここをどのように変更したらいいでしょうか? MySht.Range("B2")
With MyJHani .Rows(2).Value = .Rows(i + 1).Value End With 'セルの削除をとりやめて、値を転記する方法に変更 Next MyJHani.Clear End Sub
< 使用 Excel:Excel2019、使用 OS:Windows10 >
Set MyJHani = Range("I2").CurrentRegion ↑でどんな範囲が格納されているのですか?
MyJHani.Rows("1:2"), ここをどのように変更したらいいでしょうか? ↑で現状はどんな範囲が返ってきていて、どうなれば正解なのですか?
(もこな2) 2021/01/24(日) 11:40
Range("I2").CurrentRegionにはお客様の名前の一覧 現状では発注テーブル全体の項目が返ってきます。 日付、お客様、商品1、商品名1の価格、商品名1の個数、商品名1の合計金額、商品2、商品名2の価格、商品名2の個数、商品名2の合計金額、商品3、商品名3の価格、商品名3の個数、商品名3の合計金額、総合計金額、備考欄:注意事項 の全項目が抽出転記されますが、この中より必要項目だけを抽出転記したいのですが、日付、商品1、商品1の個数、商品2、商品2の個数、商品3、商品3の個数、総合計金額だけを抽出転記したいのですが、コードをどの様書き換えればいいのか教えてください。 (吉信) 2021/01/24(日) 11:59
Range("I2").CurrentRegion ↑はActiveSheetのI2セルを含む表範囲が取得されるわけですよね? その範囲は、こちらではわからないので【セル番地】を確認したかったわけです。
MyJHani.Rows("1:2") そして↑では取得した表範囲の1〜2行目と指定しているわけですが、なんとなれば正解だったのかを聞いてます。
(もこな2) 2021/01/24(日) 12:11
xlFilterCopy, MyJHani.Rows("1:2"), MySht.Range("B2") ここというのはこの行全体のことなんです。
(吉信) 2021/01/24(日) 12:25
>MySht.Range("B2")
必要な見出しを、列挙しておけばよいです。
(マナ) 2021/01/24(日) 13:12
(もこな2) 2021/01/24(日) 13:33
xlFilterCopy, MyJHani.Rows("1:2"), MySht.Range("B2:I2")で範囲を指定して Sheets("テンプレート")のB2からI2の見出し行B2からI2に項目名を列挙すればいいのですね!! 本当にありがとうございました。 もう一つお願いがあります。
Range("発注テーブル").AdvancedFilter _
xlFilterCopy, MyJHani.Rows("1:2"), MySht.Range("B2:I2")では、Range("発注テーブル")の罫線もSheets("テンプレート")に転記抽出されてしまいますから文字だけを転記抽出するにはコードをどのように書き加えたらいいのでしょうか?ご指導のほどお願いいたします。 (吉信) 2021/01/24(日) 16:51
(マナ) 2021/01/24(日) 17:30
テンプレートの書式を、条件付き書式で設定しておけば
マクロは現在のままでよいきがします。
(マナ) 2021/01/24(日) 18:17
=$B$2<>""
そうすれば、条件付き書式が優先されるので
フィルタオプションの結果に影響されません。
(マナ) 2021/01/24(日) 18:23
Dim 抽出先 As Range
Set 抽出先 = MyJHani.Range("C1:J1") Range("発注テーブル").AdvancedFilter _ xlFilterCopy, MyJHani.Rows("1:2"), 抽出先
抽出先.CurrentRegion.Copy MySht.Range("B2").PasteSpecial xlPasteValues
(マナ) 2021/01/24(日) 21:12
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.