[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フィルター抽出した行番号の取得』(kobi)
お世話になります。 フィルタ抽出したデータの行番号を取得したいのですが・・・ 抽出した行番号を、シート"抽出2"のA10セル以下に表示するのに、 以下の構文では、1行しか表示になりません。 こういうばやい、どうするのか教えてください。 (XP.2002) ’*************************** Range("a14").CurrentRegion.Select Selection.AutoFilter Selection.AutoFilter Field:=2, Criteria1:=">=" & fstR, Operator:= _ xlAnd, Criteria2:="<=" & lstR If Selection.Rows.Count < 3 Then 'データが無ければ Exit Sub Else 'データがあれば r = 10 For Each rg In Selection.Areas rno = Str(rg.Row) Sheets("抽出2").Range("A" & r).Value = Str(rg.Row) r = r + 1 Next rg
フィルタして、ctrl + shift + * で選択して コピー をマクロの記録しては?
(INA)
INAさん、ありがとうございます。 ctrl + shift + * でコピーは別のところでやってます。 やりたいことは、抽出したデータ(複数あります)を削除できるかを別なところで判断した後に、 削除できるものは削除、できないものはそのまま・・・にする必要があり、 削除する際にはその行番号を変数に取り込んで削除・・・としたいので、 抽出したデータの行番号をどっかに表示しておきたいんです。 方法がわからず、とほほ状態 (kobi)
ちょっとこちらにあわせたけど、こんな感じでしょうか? v(=∩_∩=)v (SoulMan) Sub 改定() Dim r As Long Dim rg As Range Dim MyRng As Range With Worksheets("Sheet1") If .AutoFilterMode = True Then .AutoFilterMode = False End If .Range("A1").AutoFilter Field:=1, Criteria1:="あ1" With .AutoFilter.Range Set MyRng = .Columns(1).SpecialCells(xlCellTypeVisible) If MyRng.Cells.Count > 1 Then r = 10 For Each rg In MyRng If rg.Row <> 1 Then Sheets("抽出2").Range("A" & r).Value = rg.Row r = r + 1 End If Next rg End If End With .AutoFilterMode = False End With Set MyRng = Nothing End Sub
SoulManさん、どうもでした。 出かけてまして遅くなりましたが、何とかできました。 またヨロピクお願いします。 (kobi)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.