advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 4265 for オートフィルタ (0.004 sec.)
[[20080808234849]]
#score: 4241
@digest: 51bdf78857a64c8b95194adc4366996a
@id: 39471
@mdate: 2008-08-12T02:47:46Z
@size: 5795
@type: text/plain
#keywords: 夏雲 (43825), 雲) (12960), 示行 (7215), (夏 (3981), トフ (3282), オー (2803), test3 (2359), ルタ (2352), タ取 (2235), 影響 (2232), hidden (2147), フィ (1970), ィル (1874), lr (1701), い行 (1551), integer (1513), 拝借 (1445), 非表 (1396), autofilter (1137), 削除 (1130), デー (1025), 行か (1007), destination (976), delete (961), ータ (906), rows (854), タで (764), 見出 (762), ート (729), 表示 (690), 集計 (682), step (658)
オートフィルタで集計後にVBAマクロでデータを取得したい』(kokit)
オートフィルタで集計した後に、その集計されたデータのみを VBAマクロで1件ずつデータ取得したいのですが 出来ますでしょうか? [エクセルのバージョン] Excel2003 [OSのバージョン] WindowsXP ---- 最終的にはどの様な事がなさりたいのですかね? 或いは、kokitさんが作ったコードでは どの様な問題点が有っての御質問なのですかね? オートフィルタで絞り込みを行った後 有る一行が表示されている行か、されていない行かは 行の状態を見ないと分かりません。 場合によっては、オートフィルタを使用せずに 条件に一致する行かそうでない行か を 確認するのと同じ様なコードに成ると思います。 ダミーシートでも作成し オートフィルタで絞り込んだ後のデータを コピーし、貼り付けたデータを使用し 処理を行っていくのが速いかもしれません。 こちらの過去ログはご参考に成りそうでしょうか? [[20080330111413]]『3行おきに30行ずつの転記』(aki) (HANA) ---- >その集計されたデータのみをVBAマクロで1件ずつデータ取得したいのですが出来ますでしょうか? 集計表(データ)だけの表にしてしまいたいということでしょうか。 そうであれば、表示されていない行(非表示行)を下から順に行削除するマクロを 作ればいいようですが。(元データは保管しておいてくださいね。) (夏雲) ---- こんにちは 表示されていない行を削除するようなマクロのサンプルはありますでしょうか? もしも表示されていない行を削除する事が出来るようでしたら、表示されている データも取得できそうな気がするのですが・・・。 サンプルをいただけたら幸いです。 ---- HANAさんのおっしゃるように別シートに書き出せば良いのでは。 オートフィルタで抽出した後で実行します。 Sub Test鮎() 'Selection.AutoFilter Field:=1, Criteria1:="=*1*", Operator:=xlAnd 'オートフィルタで抽出 Sheets("Sheet1").Cells.Copy Destination:=Sheets("Sheet2").Cells(1, 1) Sheets("Sheet1").ShowAllData 'Sheets("Sheet1").Cells.Delete 'Shift:=xlUp '元のSheet1を消すとき 'Sheets("Sheet2").Cells.Copy Destination:=Sheets("Sheet1").Cells(1, 1) End Sub (川野鮎太郎) ---- >表示されていない行を削除するようなマクロのサンプルはありますでしょうか 完璧ではありませんが,オートフィルタ後に下記マクロを実行して 末尾データの下の行(空白行)の番号を訊いてきますので数値を入れると,見える行だけになります。 (夏雲)(コピーデータで試してください。) Sub test() Dim lr As Integer Dim i As Integer lr = InputBox("末尾データ行の下の行番号入力 例 32") For i = lr To 1 Step -1 If Rows(i).Hidden = True Then Rows(i).Delete End If Next End Sub ------------------------- 皆さんに知恵を拝借して,直しました。 A列にデータがある仮定です。(夏雲) Sub test() Dim lr As Integer Dim i As Integer lr = Range("A1").CurrentRegion.Rows.Count For i = lr To 1 Step -1 If Rows(i).Hidden = True Then Rows(i).Delete End If Next End Sub ---- 皆さんに知恵を拝借して下記のようにも直して みました。こちらはデータのある場所には影響されないと思います。(夏雲) Sub test3() Dim lr As Integer Dim i As Integer With ActiveSheet.AutoFilter.Range lr = .Row + .Rows.Count - 1 End With For i = lr To 1 Step -1 If Rows(i).Hidden = True Then Rows(i).Delete End If Next End Sub ---- 場合によっては、 オートフィルタで要らない行を表示させ 表示されている行を削除した方が 処理時間が短くて済むかもしれませんね。 To,夏雲さん test3のコードですが、iは「1」まで 行かない方が良いのでは? (HANA) ---- >To,夏雲さん >test3のコードですが、iは「1」まで > 行かない方が良いのでは? test3に限りませんが,正確には(正しくは)その通りですね。 一行目は必ず△マーク用に必ず表示されますので削除されないので 2まででOKですが,結果は同じですね。(夏雲) ---- To,夏雲さん 私がtest3に限って書いたのは >データのある場所には影響されないと思います。 と書いて居られるからです。 オートフィルタの見出し行より上に 非表示行が設定されている場合は 削除されてしまいます。 オートフィルタの範囲より下に 非表示行が設定されている場合は 削除されません。 オートフィルタがどの範囲にあるか分からないけど その範囲で非表示の行は削除する ので有れば iは、オートフィルタの見出し行まで と しておくのが良いと思います。 testの二つのコードに付いては そもそも「1行目から範囲の最終行までの間で」 と言うコードになっているので、1行目まで走査すれば良いと思います。 オートフィルタによる非表示行作成の場合は 書いて居られるように、2まででOKですが結果は同じですから。 (HANA) ---- >データのある場所には影響されないと思います。 この私の意味は, lr = Range("A1").CurrentRegion.Rows.Count を使ったコードではA列を使って,範囲を判断していますので必ず A列にデータがなければ使えません。 そういう意味で,最後のコードはA列などの特定列のデータ有無に 影響されず利用できるという意味です。 ( 見出しについては一般的な1行目を想定していました。) (夏雲) ---- あっっ、 「もしかして、列方向の事かも?」 と思って戻ってきたのですが・・・・ 既に >A列などの特定列のデータ と言う書き込みが・・・。 ただ、せっかくですので 行方向も影響されない物をにしておいた方が 汎用性が高まるように思います。 Sub オートフィルタ範囲の非表示行削除() Dim i As Integer With ActiveSheet If .AutoFilterMode = False Then MsgBox "オートフィルタが設定されていません。" Exit Sub End If With .AutoFilter.Range For i = .Row + .Rows.Count - 1 To .Row Step -1 If Rows(i).Hidden = True Then Rows(i).Delete End If Next End With End With End Sub ただ、当初のご質問からすると こちらの過去ログ (このスレから見ると、未来のログですが・・・) も参考になると思いますので、リンクしておきます。 [[20080812102739]]『オートフィルタで抽出された各行をマクロで選択』(うめ) (HANA) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200808/20080808234849.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97030 documents and 608002 words.

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