[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートフィルタで選んだものだけを印刷したい』(マリリン)
Vlookup関数を使いながらの印刷をさせていただきました。とても助かっています。
ただ、続いている番号だけでなくオートフィルタで選んだものだけ印刷するわけにいかないかなと思っています。
別の表を作って印刷していたのですが、欲が出てしまいました。よろしくお願いします。
請求書印刷する Macro ' マクロ記録日 : 2005/6/8 ユーザー名 : '
'
Sheets("請求").Select MyStartNum = Application.InputBox("印刷開始番号を入力してください。", _ "番号の入力", "1", Type:=1) If MyStartNum = False Then Exit Sub MyEndNum = Application.InputBox("印刷終了番号を入力してください。", _ "番号の入力", "1", Type:=1) If MyEndNum = False Then Exit Sub For MyNum = MyStartNum To MyEndNum Range("B1").Value = MyNum Range("A2:t15").PrintOut Next MyNum End Sub
具体的な例を挙げたほうが良いですね。
表の配置、内容、結果としてどうなりたいかなどなど。
(川野鮎太郎)今回の内容には上記のコードは関係ありません。
できますでしょうか? もしできないのであれば、オートフィルタで選んだものだけを他の場所に貼り付けられるのでしょうか?うまくできないのですが・・・・・
A B C D E F G H I J 2 日付 工事番号 コード 費目 取引先名 メーカー 品名 数量 単価 金額 3 12/15 C05-001 805 材料費 ○○会社 金型 1 50,000 50,000 4 1/10 C05-002 836 消耗品@××会社 ハケ 2 400 800
VLOOKUP関数を使う方法は私もお勧めです。 であれば、A列に作業列を1列挿入して、A3セルに =SUBTOTAL(2,B3)*ROW() を入れて、 必要数だけ下方にコピーしてください。 このA列の数値を元にVLOOKUP関数で請求シートに数式を入れておきます。
マクロのコードは以下にして試してください。 Sub FilterPrint() Set Sh1 = Worksheets("請求") '印刷フォーマットのシート Set Sh2 = Worksheets("Sheet1") 'オートフィルタするシート Set MyRange = Range(Sh2.Range("A3"), Sh2.Range("A65536").End(xlUp)) For Each MyNum In MyRange If MyNum > 0 Then Sh1.Range("B1").Value = MyNum Sh1.Range("A2:T15").PrintOut End If Next MyNum End Sub
(川野鮎太郎)
ここで、ポイントは、 1) 新しいデータ表は、別シートの特定の行から下に つくり、その行の上は印刷したいフォーム(VlookUP関数埋め込み) にしておくということです。 2)新しいデータ表は、元表がら選択されたもののみ、マクロで 自動で行全体を所定の行以下に転記します。 (なお)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.