advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 33500 for 関数 (0.006 sec.)
[[20220609091634]]
#score: 2646
@digest: 973fa0af3a03b77ce919ec087b1702b0
@id: 91488
@mdate: 2022-06-10T11:36:12Z
@size: 5473
@type: text/plain
#keywords: xifiltercopy (38104), 外デ (33189), cngcng (30483), adefgikmwz (23246), 力b (14343), 力a (13549), 力デ (9063), ル条 (7949), copytorange (5992), 列)) (5935), ws4 (5216), 除外 (5102), 式:= (4975), タ") (4769), 出力 (4478), criteriarange (4378), rng2 (4178), ws3 (4121), advancedfilter (3834), タ! (3490), タ( (3415), 茶様 (3306), action (3145), rng1 (2890), ナ様 (2728), unique (2622), ル数 (1975), マナ (1905), 矛盾 (1874), worksheets (1734), 白茶 (1540), 列( (1425)
『データを抽出するマクロ』(Cngcng)
VBA初めてのため、 説明不足な点があるかもしれませんが、ご助力頂きたいです。宜しくお願いします。 シートにあるデータ中から、除外データに該当するものとしないものを、それぞれ別のシートに出力することを目的とします。 シート1:除外データ(A列) C2セル 数式:=COUNTIF(A:A,入力データ!F2) シート2:入力データ(A〜Z列(出力したい列はADEFGIKMWZの10列)) シート3:出力A シート4:出力B 以下が自分で考えている途中のマクロになり、 とりあえず除外するものを出力するまでの文になります。 Option Explicit Sub AdvancedFilter00() Dim ws1 As Worksheet Set ws1 = Worksheets("除外データ") Dim ws2 As Worksheet Set ws2 = Worksheets ("入力データ") Dim ws3 As Worksheet Set ws3 = Worksheets("出力A") Dim ws4 As Worksheet Set ws4 = Worksheets("出力B") Dim rngl As Range Set rng1 = ws1.Range("C2") Dim rng2 As Range Set rng2 = ws2.Range("A:A,D:G,I:I,K:K,M:M,W:W.Z:Z") ws3.Cells.Clear ws4.Cells.Clear rng2.AdvancedFilter _ Action := xIFilterCopy, _ CriteriaRange := rng1, _ CopyToRange := ws3.Range("A1"), _ Unique = False End Sub このマクロで実行すると、 rng2.AdvancedFilter _ の行から構文エラーとなってしまいます。 どこを直したらよいのでしょうか。 < 使用 Excel:Excel2010、使用 OS:Windows7 > ---- え? 「Unique」のうしろに「:」? (白茶) 2022/06/09(木) 09:40 ---- >シート2:入力データ(A〜Z列(出力したい列はADEFGIKMWZの10列)) フィルター範囲は、入力データ全範囲 CopyToRangeに、抽出したい列の見出しをコピーしておきます (マナ) 2022/06/09(木) 09:43 ---- 白茶様 「:」を追加したら構文エラーが消えました。ありがとうございます。 マナ様 初心者質問で申し訳ないのですが、CopyToRangeに見出しをコピーとはどういうことなのでしょうか? (Cngcng) 2022/06/09(木) 10:13 ---- ちゃんと抽出できたのであれば、 わたしのコメントは忘れてください。 (マナ) 2022/06/09(木) 12:17 ---- マナ様の意見を参考に出力ファイルの1行目を見出しにしました。 抽出まで一応することができました。 白茶様、マナ様ありがとうございます。 下記に作成したマクロを記載させていただきます。 ありがとうございました。 シート1:除外データ(A列) C1セル 条件A,C2セル 数式:=COUNTIF(A:A,入力データ!F2)=0 D1セル 条件B,D2セル 数式:=COUNTIF(A:A,入力データ!F2)=0 シート2:入力データ(A〜Z列(出力したい列はADEFGIKMWZの10列)) シート3:出力A(1行目を出力するデータ見出し) シート4:出力B(1行目を出力するデータ見出し) Option Explicit Sub AdvancedFilter00() Dim ws1 As Worksheet Set ws1 = Worksheets("除外データ") Dim ws2 As Worksheet Set ws2 = Worksheets ("入力データ") Dim ws3 As Worksheet Set ws3 = Worksheets("出力A") Dim ws4 As Worksheet Set ws4 = Worksheets("出力B") Dim rngl As Range Set rng1 = ws1.Range("C1:C2") Dim rng2 As Range Set rng2 = ws1.Range("D1:D2") ws3.Rows("2:" & Rows.Count).Clear ws4.Rows("2:" & Rows.Count).Clear ws2.Range("A1").CurrentRegion.AdvancedFilter _ Action:=xIFilterCopy, _ CriteriaRange:=rng1, _ CopyToRange:=ws3.Range("A1:J1"), _ Unique:=False ws2.Range("A1").CurrentRegion.AdvancedFilter _ Action:=xIFilterCopy, _ CriteriaRange:=rng2, _ CopyToRange:=ws4.Range("A1:J1"), _ Unique:=False End Sub (Cngcng) 2022/06/09(木) 20:24 ---- たぶん、この2行は不要だと思います。 あっても問題ありませんが。 > ws3.Rows("2:" & Rows.Count).Clear > ws4.Rows("2:" & Rows.Count).Clear (マナ) 2022/06/09(木) 20:47 ---- マナさんが指摘している部分もですが、そんなにたくさん変数を用意しなくても↓のようにも書けます。 Sub test01() With Worksheets("入力データ").Range("A1").CurrentRegion .AdvancedFilter , Action:=xIFilterCopy, CriteriaRange:=Worksheets("除外データ").Range("C1:C2"), CopyToRange:=Worksheets("出力A").Range("A1:J1"), Unique:=False .AdvancedFilter , Action:=xIFilterCopy, CriteriaRange:=Worksheets("除外データ").Range("D1:D2"), CopyToRange:=Worksheets("出力B").Range("A1:J1"), Unique:=False End With End Sub 上記は極端だとしても、本当に変数に格納する必要があるのか検討されてみてはどうでしょうか? (変数を多用することによりかえって見づらくなってるような気がします) (もこな2) 2022/06/10(金) 03:23 ---- マナ様 出力シートにデータがある場合にマクロを実行すると上書きされるという認識でよろしいでしょうか? >たぶん、この2行は不要だと思います。 もこな2様 初マクロでしたので、とりあえず学んだことを試してみました。 今後は格納の有無も考えて作成していきます。 アドバイスありがとうございます。 (Cngcng) 2022/06/10(金) 10:13 ---- >出力シートにデータがある場合にマクロを実行すると上書きされるという認識でよろしいでしょうか? 手作業で「フィルタオプション」を使ってみれば理解できると思うのでお試しあれ。 >初マクロでしたので、とりあえず学んだことを試してみました。 >今後は格納の有無も考えて作成していきます。 言ってることと矛盾してしまうかもですが、ご自身が理解できる(理解しやすい)方法が一番です。 是非、いろいろ検討してみてください。 (もこな2) 2022/06/10(金) 12:21 ---- もこな2様 >手作業で「フィルタオプション」を使ってみれば理解できると思うのでお試しあれ。 実際に使ってみて理解できました。 >言ってることと矛盾してしまうかもですが、ご自身が理解できる(理解しやすい)方法が一番です。 >是非、いろいろ検討してみてください。 色々と挑戦して自分のやり方を見つけていきたいと思います。 アドバイスをしていただいた皆様ありがとうございました。 (Cngcng) 2022/06/10(金) 20:36 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/202206/20220609091634.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97018 documents and 607945 words.

訪問者:カウンタValid HTML 4.01 Transitional