|
▼ニャンソ さん:
▼UO3 さん:
スレ主でもないのにすみません m(_ _)m
UO3 さんが最後に提示されたサンプルコード読んでみて
何だかよく分からなくなってきたので、どういうシートレイアウト
を想定するとトライできるのか、確認させて下さい m(_ _)m
まず元データのあるBook1 ですが、同じ表構成の2シートがあるわけですか?
>Book1-1
>A・B・C・D・E・F・G・H〜X・Y・X
>空白・通番・県名・地区・グループ番号・従業員番号・従業員名・過去申請金額・申請金額・実金額
>
>Book1-2
>A・B・C・D・E・F・G・H〜X・Y・X
>空白・通番・県名・地区・グループ番号・従業員番号・従業員名・過去申請金額・申請金額・実金額
(Q1.)↑の列番号
> H〜X・Y・X
とありますが、最後の列番号は Zのまちがいですか?
>Book1-2・Book2の1〜7行目は見出し?となっており、B8から表があります。
(Q2.)Book1の各シートの↑の列見出しは 7行目に書いてあるんですよね?
>Book2
>A・B・C・D・E・F
>空白・従業員NB・従業員名・申請日・申請金額・実金額
>*Book2の申請日は手書きのため空白
(Q3.)Book2.Sheets(1) はココへ出力して印刷するためのシートのよう
ですね?B列から印刷領域ですか?この列見出しは何行に書いてある
のでしょう?
>Book3
>A・B・C・D・E
>県名・地区・グループ番号・従業員番号・従業員名
>
>Book1は他部署より送られてきます。
>その中にグループ番号はないので、Book3よりコピペします。
>*グループは12あります。
(Q4.)グループ番号は他のどの項目に紐づけられているのでしょうか?
Book1のデータの何をみると グループ番号が分かるのですか?
県名から連想されるグループ番号があるのですか?
それとも、地区 をみると グループ番号が分かるのですか?
あるいは 従業員番号 とか 従業員名 をみると分るのですか?
▼UO3 さん:
お世話になります
すみません、UO3 さんにしてはめずらしく、コードにコメントが無い
ので、よかったら、すこし教えてください:
>かってながらBook1,Book2は、以下のようになっているということが前提です。
>
>(Book1)
>
>7行目には、ユニークな項目名がセットされていると認識しています。
>
>(Book2)
>
>・B〜F列が抽出・印刷領域。
>・G列は空白列
>・H列、H1 に "地区" (Book1 の D7 と同じ文字列)、
> H2から下に、担当する地区コード(1つでも3つでも100個でもOK)
>
>また、印刷は Book2の B〜F列のみを対象にしています。
>
>Sub Sample2()
(Q5.)Book3のグループ番号をBook1のグループ番号列に()どこでどのように
セットされてますか?
> With Workbooks("Book2.xls").Sheets(1)
> sv3 = .Range("B7:F7").Value
> .Range("I1").Value = wb.Sheets(1).Range("E7").Value
>
> For Each grp In dicG
> .Range("B7:F7").Value = Array(wb.Sheets(1).Range("F7").Value, _
> wb.Sheets(1).Range("G7").Value, _
> wb.Sheets(1).Range("G7").Value, _
> wb.Sheets(1).Range("I7").Value, _
> wb.Sheets(1).Range("J7").Value)
> .Range("H2", .Range("H" & .Rows.Count).End(xlUp)).Offset(, 1).Value = grp
(Q6.)↑このあたりが Book2 印刷用シートに対する処理のようですが、
トレース(Step実行)していくと、列見出しを書き換えてますでしょ?
で、シートレイアウトがちがうものだから、これ以降うまく実行できなく
なってしまい、元の列見出しに復帰できなくなっちゃったんです。
この辺でやっていることはどういったことなのでしょうか?
> sh.Range("B7", sh.Range("B" & sh.Rows.Count).End(xlUp)) _
> .Resize(, 9).AdvancedFilter _
> Action:=xlFilterCopy, _
> CriteriaRange:=.Range("H1").CurrentRegion, _
> CopyToRange:=.Cells(i, "B").Resize(, 5), _
> Unique:=False
> If x <> 1 Then .Rows(i).Delete
> Call maintGrp(sh, False)
(Q7.)↑Book1の(各シート?の B列から右)9列を AdvancedFilterを使って、
Boo2にへ抽出転記していますが、
抽出元Book1の 項目「申請金額」「実金額」はY列、Z列などでは
なかったですか?
#書いていて 少しわかってきた部分もありますが、
もしよろしければご説明願えればありがたいです。
お手すきのときでかまいません m(_ _)m
|
|