あるフィールド(例えばA列)にレコード長6桁で次のようなデータがあるとします。
10000
151692
621500
10000
999999
131700
・
・
・
で、
10000を含むレコードのみ残してあとのレコードは削除したいです。
レコード数が多いのでAutoFilterしてCopy&PasteですとPC悲鳴あげました。
できれば順序は保持したいですが、ソートをつかっても構いません。
また今回は6桁の固定長ですので、5桁以外の行を選択削除してもいいかも知れません(本来は010000の6桁)。
が、そうでない場合も含めて、ご教授下さい。
ソートして手動で消せばいいんですが、全体のマクロの中の一部として組み込みたいので。
自分以外の人も使うので、Pen200くらいのPCでも悲鳴あげない方法を最終的には優先したいです。
accessなら単に10000のクエリで吐き出せばすむ話なんでしょうけど…。
No.1
- 回答日時:
一番速度は期待できない方法ですが
とりあえず、Do~Loopを使う方法を。
データはA列に抜けなく存在するものと仮定して作ってます。
Sub 行削除()
Dim i As Long
Application.ScreenUpdating = False
i = 1 '検索開始行
Do Until Cells(i, 1).Value = ""
If Cells(i, 1).Value <> "10000" Then
Cells(i, 1).EntireRow.Delete
i = i - 1
End If
i = i + 1
Loop
Application.ScreenUpdating = True
End Sub
No.2
- 回答日時:
> 10000を含むレコードのみ残してあとのレコードは削除したいです。
この条件から「含むレコード」ということですので、
010000、10000、910000、100009 は、全て残るとすれば
次のコードで、如何でしょうか。
Sub DelRows()
Dim Rwe As Long
Dim R As Long
Const Col = "A" ' ←----- 検索対象列名を指定
Application.ScreenUpdating = False
Rwe = Range(Col & 65536).End(xlUp).Row
For R = Rwe To 1 Step -1
If InStr(CStr(Range(Col & R).Value), "10000") = 0 Then
Rows(R).Delete
End If
Next
Application.ScreenUpdating = True
Beep
End Sub
No.3ベストアンサー
- 回答日時:
こんばんは。
MSクエリはエクセルのシートがデータベースのテーブルのように構成されていればクエリをかけることが出来ます。VBAではODBCドライバとしてエクセルドライバを使ってアクセスするようになります。具体的なコードまでは記述しませんがクエリをかけるのも一つの手と思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) 【至急】 当方初心者です。 マクロについて知恵をお貸しください。 ★したい動作 ①リストE列2行目か 4 2022/09/29 18:56
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- iPod・ウォークマン・音楽プレーヤー レコードの楽曲をPCに取り込みたい レコードを何枚か持っているのですが、再生機器がありません。スマー 4 2022/10/03 09:51
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
ACCESSフォーム入力後の確定
-
Accessの「Form_AfterUpd...
-
Accessで経過日付に応じて色を...
-
AccessのRefresh・Requery・Rep...
-
accessでオートナンバーを使わ...
-
Accessのレコード数をテキスト...
-
Accessでレコードの複製
-
アクセスのフォームビューの帳...
-
禁止文字をエクセルかアクセス...
-
ACCESSのカレントレコードを、w...
-
アクションクエリ DoCmd.RunSQ...
-
新しいレコードへの移動時にト...
-
Accessフォームで詳細内の任意...
-
MSAccess ロック状態かどうかを...
-
Access サブフォームでの選択行...
-
エクセルで、抽出したデータだ...
-
ACCESSでVBAから選択クエリの抽...
-
AccessのWHERE句において、変数...
-
未審査請求包袋抽出表作成とは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
ACCESSフォーム入力後の確定
-
AccessのRefresh・Requery・Rep...
-
Accessでレコードの複製
-
accessでオートナンバーを使わ...
-
Accessフォームで詳細内の任意...
-
access の 最終レコードの判定...
-
Accessで経過日付に応じて色を...
-
アクセエスのレコードの更新をV...
-
アクセスで複数レコードを1レ...
-
Access 指定したレコードへ移動
-
ファイルメーカーで重複してイ...
-
MS.Access でサブフォーム付の...
-
access2010 特定文字を含むレコ...
-
DoCmd.SearchForRecord が動か...
-
アクセスのコンボボックスの内...
-
ファイルメーカーのレコード複...
-
MSAccess ロック状態かどうかを...
-
ACCESS最終データだけ印刷でき...
-
新しいレコードへの移動時にト...
おすすめ情報