advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 4267 for オートフィルタ (0.004 sec.)
[[20161014114018]]
#score: 4240
@digest: 95f74684359d5d317c41509547e165f8
@id: 71801
@mdate: 2016-10-14T07:48:29Z
@size: 5502
@type: text/plain
#keywords: partialupdate (50877), ーオ (4840), 行結 (4140), (fu (3516), 出結 (3038), 表全 (2310), ルタ (2212), 行目 (2107), 目名 (2037), 本件 (1973), フィ (1853), ィル (1763), selection (1716), ター (1546), autofilter (1516), トフ (1351), オプ (1172), プシ (1160), オー (1154), xlpastevalues (1104), 結合 (1082), 目に (997), criteria1 (961), 任意 (874), select (855), 別シ (845), 2016 (802), ショ (786), と2 (739), マー (736), 金) (723), 目と (673)
『VBAで特定の範囲を選択、コピー』(fumi)
初めまして。よろしくお願いいたします。 A B C D E G H I J 1 ab 2 ID AA N L 1000 n a1 c a1 1 2 PartialUpdate 1001 b7 o b7 0 5 PartialUpdate 1002 a5 o a5 1 2 PartialUpdate 1003 t1 t1 1 5 PartialUpdate 1004 n j1 j1 0 5 PartialUpdate 1行目と2行目にはタイトル等の文字が入力されています。 A列からJ列まで空欄または数字・文字が入力されています。 なお、D,H,I,J列には3行目から10000行目まで数式が入っています。 また、上記はJ列(J3以降)で「PartialUpdate」を選んでフィルタをかけた後の状態です。 ですので、通常、行は1000番台ぐらいから始まり、100から200行ほど選択することが多いです。 上記のフィルタをかけた状態から、 D1000からJ1004までコピーを行い、 別シート「sheet1」のA4にペーストを行うマクロを教えていただけれと思います。 よろしくお願いいたします。 < 使用 Excel:Excel2016、使用 OS:Windows10 > ---- >また、上記はJ列(J3以降)で「PartialUpdate」を選んでフィルタをかけた後の状態です。 なら、そのまま表全体をコピペしたらどうなりますか? 流れ的には、 表全体を指定 オートフィルターで必要なデーターを抽出 そのままコピー&ペースト オートフィルター解除 で、行けるはずです。まずはマクロの記録をして、 それぞれの作業のコードを探ってみてください。 それを元に、マクロを作っていくといいと思います。 (まっつわん) 2016/10/14(金) 12:39 ---- すでに処理案がでていますので、よもやま話的に。 >>1行目と2行目にはタイトル等の文字が入力されています。 1行目と2行目が行結合されているセルもあるのでしょうか? また、ある列は行結合されず、1行目に項目名、ある列は2行目に項目名といった列もあるんですね? こういった状態でオートフィルターを設定しておられるわけですが、▼マークは1行目につけられていますか? 2行目につけられていますか? 本件、処理としてはオートフィルターも悪くはないですが、フィルターオプションなら、直接、別シートの任意の場所に 抽出結果を転記することができます。 ただし、フィルターオプションは、オートフィルターと異なり、タイトル行の文字列が「命」なので ちょっとお聞きしたいと思いまして。 (β) 2016/10/14(金) 13:37 ---- まっつわんさん ご回答ありがとうございます。 マクロを記録してやってみると、 以下のような感じですが、 なんとか貼り付けられているようです。 Cells.Select ActiveSheet.Range("$A$2:$J$10000").AutoFilter Field:=10, Criteria1:="<>" Range("J1").Select Selection.End(xlDown).Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToLeft)).Select Range(Selection, Selection.End(xlToLeft)).Select Selection.Copy Sheets("Sheet1").Select Range("A4").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 質問する前はなぜだかさっぱりできなかったのですが…。 ありがとうございました。 (fumi) 2016/10/14(金) 14:40 ---- βさん ご回答ありがとうございます。 >>1行目と2行目が行結合されているセルもあるのでしょうか? また、ある列は行結合されず、1行目に項目名、ある列は2行目に項目名といった列もあるんですね? こういった状態でオートフィルターを設定しておられるわけですが、▼マークは1行目につけられていますか? 1行目と2行目で結合されているセルはございません。 1行目にはB1に文字や記号が複数入っています。2行目に項目名があります。 ▼マークは、2行目につけています。 >本件、処理としてはオートフィルターも悪くはないですが、フィルターオプションなら、直接、別シートの任意の場所に抽出結果を転記することができます。 フィルターオプションというのがどういうものか知らないのですが、 別シートの任意の場所に抽出結果を転機するなら、コピペをするより処理が軽い感じでしょうか? よろしくお願いいたします。 (fumi) 2016/10/14(金) 14:47 ---- >質問する前はなぜだかさっぱりできなかったのですが…。 なるほど。。。 あっと、整理してみました。 1)SelectしなくてもVBAから操作は可能なので、 そういう書き方を覚えましょう。自由度が増します。 2)複数シートを扱うときは、どのシートのセルなのか明示しましょう。 思いもよらない結果になるときがあります。 3)変数にセルその物が代入できます。オブジェクト変数を覚えましょう^^ Sub test001() Dim Rng As Range With Worksheets("Sheet4").Range("A1").CurrentRegion Set Rng = Intersect(.Cells, .Offset(1)) End With With Rng .AutoFilter Field:=10, Criteria1:="<>" .Copy Worksheets("Sheet1").Range("A4").Resize(.Rows.Count, .Columns.Count) _ .PasteSpecial Paste:=xlPasteValues .AutoFilter End With End Sub >フィルターオプションというのがどういうものか知らないのですが、 検索したらすぐ見つかると思いますよ^^ 手動では使いずらいですが、 VBAから操作する分には便利なツールです^^ (まっつわん) 2016/10/14(金) 15:21 ---- まっつわんさん ご回答ありがとうございます。 まっつわんさんが書いていただいたマクロの内容については 素人なので、ほとんどわからないのですが、 整理していただいたものに、「sheet4」だけ実際のシート名「os」に変更して、 実行したのですが、 「実行時エラー '1004': Range クラスのAutoFilterメソッドが失敗しました。」 と表示されてしまいました。 おそらく私が伝えている情報が何か漏れているのだと思います。 でも、とりあえず当初のものでコピペができているので、 これ以上お時間を取らせてしまい、 申し訳ないので、とりあえずはそちらでいこうかと思います。 フィルターオプションに関しても検索してみましたが、 もう少し時間のある時にまた調べてみようと思います。 いろいろとご教授いただきありがとうございました。 (fumi) 2016/10/14(金) 16:48 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201610/20161014114018.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97049 documents and 608241 words.

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