Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8815 / 76735 ←次へ | 前へ→

【73488】Re:AdvancedFilterメソッドについて
発言  kanabun  - 13/1/15(火) 9:39 -

引用なし
パスワード
   ▼ニャンソ さん:こんにちは〜〜

>>それで、次に、 こちらが 知りたいのは
>>
>>Step 1. と Step 2. は どのようなコードを書いて成功されたのでしょうか?

返信ありがとうございます。

コードを詳細には読んでないのと、検証用にダミーのサンプルデータを作って
ないので、コメントできませんが、

>
>Option Explicit
>
>Private Book4 As Workbook
>Private Book5 As Workbook
>Private Book6 As Workbook
>

> With Book6.Worksheets("Temp") 'Temp Sheetに必要データだけ転記
>   .UsedRange.Clear
>   '列見出しのコピー
>   .Cells(nRow, 1) = "Group番号" 'あとで Book3より引用
>   .Cells(nRow, 2) = shtA.[C4].Value '県名
>   .Cells(nRow, 3) = shtA.[D4].Value '地区★
>   .Cells(nRow, 4) = shtA.[F4].Value '従業員番号-----+
>   .Cells(nRow, 5) = shtA.[G4].Value '従業員氏名   |印刷項目
>   .Cells(nRow, 6) = shtA.[Y4].Value '申請金額    |
>   .Cells(nRow, 7) = shtA.[Z4].Value '実金額 -------+
>   With shtA
>     Set cc = .Range("C4", .Cells(.Rows.Count, "C").End(xlUp))
>   End With
>   cc.Resize(, 24).AdvancedFilter xlFilterCopy, _
>     CriteriaRange:=c, _
>     CopyToRange:=.Cells(nRow, 2).Resize(, 6) '別シートに抽出

>kanabunさんに考えて頂いたコードを
>
>Book1=Book4
>Book2=Book5
>Book3=Book6
>G1=DT1
>Book4の見出し行が「4」
>
>に変更しました。

のように、ご自分で変数とセル位置を入れ替えておられるのは、コードの
理解のために、とっても良い方法だと思います。


>'>5.合計金額(申請金額・実金額それぞれ)を算出 (数式入力)
>       '----------- 集計行が不明なので割愛 ------------
>       '印刷します
>       shtP.PrintPreview '⇒ 実用時には .PrintOut に変更
>
>のところを
>
>       shtP.PrintOut '⇒ 実用時には .PrintOut に変更
>
>と変更したのですが、印刷されず…
>Step 2.で実行が完了してしまいます。
>
>特にエラー等出ないので、何故なのか良く分かりません。

むむ、、、
これはですねぇ、エラーが出ないということは、
グループ番号(1〜12) で Autofilterかけて 1行も抽出されていないからじゃ
ないですか?

コードを追ってくと、

>'>3.グループ番号・従業員番号順に並び変え
>   With c.CurrentRegion
>     .Sort Key1:=.Columns(1), Key2:=.Columns(4), _
>        Header:=xlYes
>   End With
   
>   .Columns(6).Insert '「申請日」列を挿入 空白
>   Set cc = c.CurrentRegion.Resize(, 8) '8列
>   '◆A:Group番号 D:従業員NB E:員名 F:申請日 G:申請金額 H:実金額
    
ここまででBook6(マクロの書いてあるBook)の[Temp]シートに ↑の列番号に
必要なデータが集積されることになっています。
A列はグループ番号です。数値で 1〜12 の範囲が書き込まれているはずです。
ここまでは OK ですか?

いや、たぶん、大丈夫ではないんでしょう。
グループ番号がA列に書き込まれていなかったり、書き込まれていても 1〜12
までの「数値」でなかったりすると、

>' 4.グループ番号(1〜12)別に 印刷シート[B8]へ 値のみ転記・印刷する
>   For i = 1 To 12
>     cc.Columns(1).AutoFilter 1, i

    ◆↑ ここで、A列に 1〜12 の数値でAutofilterをかけています。
これが
A列にグループ番号が書き込まれていなかったり、書き込まれていても 1〜12
までの「数値」でなかったりすると、何も抽出されず、
↓次の行のIf分で 「可視行が見出し行を加えて2行以上あれば 印刷する」

>     If cc.Columns(1).SpecialCells(xlVisible).Count > 1 Then

という判断をしています。これは、もともと、いつもグループ番号1〜12 に
対応するデータがあるとは限らないので、あるグループ番号がなければ、
印刷をスキップするためです。いちども PrintPreview されないということ
は、1〜12までの番号が [Temp]シートのA列にひとつもない、ということだか
ら、ではないでしょうか?
(他にも原因は考えられるかもしれませんが、コードを読んでいて真っ先に
思いついたのは 上記のAutofilterでキーとなるA列のデータのことでした)

なお、
>       shtP.PrintPreview '⇒ 実用時には .PrintOut に変更
のところを .PrintOut にするのは ちゃんと動くようになって(印刷したい
内容がプレヴューできるようになって)からでいいですよ。(^^)
紙がもったいない。

マクロブックの[Temp]シートのA列に書き込むデータは
同じマクロブックの[List]シートに書いてあるグループ番号リスト(対応表)
で、グループ番号は従業員番号(?)と対応している --- こういう想定をして
いましたが、この前提は いまでも有効ですか?

そのあたり、もういちど、[Temp]シート [List]シートを見ながら、チェック
お願いします。

#(私用で、2日間、掲示板にアクセスできません m(_ _)m)
0 hits

【73344】AdvancedFilterメソッドについて ニャンソ 12/12/21(金) 23:34 質問
【73346】Re:AdvancedFilterメソッドについて UO3 12/12/22(土) 0:44 発言
【73348】Re:AdvancedFilterメソッドについて ニャンソ 12/12/22(土) 8:33 質問
【73349】Re:AdvancedFilterメソッドについて kanabun 12/12/22(土) 10:08 発言
【73350】Re:AdvancedFilterメソッドについて kanabun 12/12/22(土) 10:17 発言
【73353】Re:AdvancedFilterメソッドについて ニャンソ 12/12/22(土) 16:22 回答
【73352】Re:AdvancedFilterメソッドについて ニャンソ 12/12/22(土) 16:18 質問
【73351】Re:AdvancedFilterメソッドについて UO3 12/12/22(土) 14:07 発言
【73354】Re:AdvancedFilterメソッドについて ニャンソ 12/12/22(土) 16:28 回答
【73355】Re:AdvancedFilterメソッドについて UO3 12/12/22(土) 18:23 発言
【73356】Re:AdvancedFilterメソッドについて ニャンソ 12/12/22(土) 19:14 お礼
【73358】Re:AdvancedFilterメソッドについて ニャンソ 12/12/24(月) 21:24 回答
【73360】Re:AdvancedFilterメソッドについて kanabun 12/12/25(火) 0:05 発言
【73362】Re:AdvancedFilterメソッドについて ニャンソ 12/12/25(火) 20:34 お礼
【73361】Re:AdvancedFilterメソッドについて UO3 12/12/25(火) 10:39 発言
【73363】Re:AdvancedFilterメソッドについて ニャンソ 12/12/25(火) 20:54 回答
【73364】Re:AdvancedFilterメソッドについて UO3 12/12/26(水) 9:53 発言
【73366】Re:AdvancedFilterメソッドについて ニャンソ 12/12/26(水) 19:46 お礼
【73369】Re:AdvancedFilterメソッドについて UO3 12/12/27(木) 12:33 発言
【73371】Re:AdvancedFilterメソッドについて ニャンソ 12/12/27(木) 22:03 回答
【73372】Re:AdvancedFilterメソッドについて UO3 12/12/27(木) 22:10 発言
【73379】Re:AdvancedFilterメソッドについて ニャンソ 12/12/28(金) 21:00 回答
【73373】Re:AdvancedFilterメソッドについて UO3 12/12/27(木) 22:15 発言
【73380】Re:AdvancedFilterメソッドについて ニャンソ 12/12/28(金) 21:02 回答
【73382】Re:AdvancedFilterメソッドについて ニャンソ 12/12/28(金) 22:00 発言
【73385】Re:AdvancedFilterメソッドについて ニャンソ 12/12/29(土) 20:11 回答
【73374】Re:AdvancedFilterメソッドについて kanabun 12/12/28(金) 11:23 発言
【73375】Re:AdvancedFilterメソッドについて kanabun 12/12/28(金) 11:42 質問
【73376】Re:AdvancedFilterメソッドについて UO3 12/12/28(金) 12:05 発言
【73377】Re:AdvancedFilterメソッドについて kanabun 12/12/28(金) 19:37 発言
【73378】Re:AdvancedFilterメソッドについて kanabun 12/12/28(金) 20:05 発言
【73381】Re:AdvancedFilterメソッドについて ニャンソ 12/12/28(金) 21:56 回答
【73383】Re:AdvancedFilterメソッドについて kanabun 12/12/29(土) 9:31 発言
【73384】Re:AdvancedFilterメソッドについて kanabun 12/12/29(土) 9:40 発言
【73386】Re:AdvancedFilterメソッドについて ニャンソ 12/12/29(土) 21:23 回答
【73387】Re:AdvancedFilterメソッドについて kanabun 12/12/29(土) 21:58 発言
【73388】Re:AdvancedFilterメソッドについて ニャンソ 13/1/2(水) 21:17 回答
【73390】Re:AdvancedFilterメソッドについて kanabun 13/1/3(木) 0:26 発言
【73391】Re:AdvancedFilterメソッドについて ニャンソ 13/1/3(木) 20:39 回答
【73392】Re:AdvancedFilterメソッドについて kanabun 13/1/3(木) 23:11 発言
【73396】Re:AdvancedFilterメソッドについて ニャンソ 13/1/4(金) 20:59 回答
【73409】Re:AdvancedFilterメソッドについて kanabun 13/1/5(土) 19:04 発言
【73428】Re:AdvancedFilterメソッドについて ニャンソ 13/1/7(月) 21:05 回答
【73429】Re:AdvancedFilterメソッドについて kanabun 13/1/7(月) 23:27 発言
【73451】Re:AdvancedFilterメソッドについて ニャンソ 13/1/11(金) 20:54 回答
【73452】Re:AdvancedFilterメソッドについて kanabun 13/1/11(金) 23:09 発言
【73477】Re:AdvancedFilterメソッドについて ニャンソ 13/1/14(月) 20:07 回答
【73488】Re:AdvancedFilterメソッドについて kanabun 13/1/15(火) 9:39 発言
【73508】Re:AdvancedFilterメソッドについて ニャンソ 13/1/16(水) 21:17 回答
【73511】Re:AdvancedFilterメソッドについて kanabun 13/1/16(水) 22:51 発言
【73521】Re:AdvancedFilterメソッドについて ニャンソ 13/1/17(木) 20:46 回答
【73522】Re:AdvancedFilterメソッドについて kanabun 13/1/17(木) 21:58 発言
【73525】Re:AdvancedFilterメソッドについて ニャンソ 13/1/17(木) 22:47 回答
【73389】Re:AdvancedFilterメソッドについて ニャンソ 13/1/2(水) 21:26 回答
【73365】Re:AdvancedFilterメソッドについて kanabun 12/12/26(水) 9:54 発言
【73367】Re:AdvancedFilterメソッドについて ニャンソ 12/12/26(水) 20:06 回答
【73368】Re:AdvancedFilterメソッドについて kanabun 12/12/26(水) 21:09 質問
【73370】Re:AdvancedFilterメソッドについて ニャンソ 12/12/27(木) 21:49 回答
【73359】Re:AdvancedFilterメソッドについて ニャンソ 12/12/24(月) 21:25 質問

8815 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free