No.1ベストアンサー
- 回答日時:
そのままだと、1行置きに削除+前詰めが発生する為、作業領域が大きくなり処理も複雑になってしまう。
A列をキーにして並べ替えてから、フィルタをかけて削除する。
処理後、元の並びに戻したいのなら、事前にどこかの列に連番を振っておく。
No.2
- 回答日時:
こんばんは!
データ数が約5万行もあると単純にループさせても「応答なし」になると思いますし、
オートフィルタで「0」以外を表示できても表示されている行数約半数の25000行程度だと
その行を削除しても相当時間を要すると思います。
そこで別案ですが、
元データはSheet1にあり、A列が「0」以外のデータをSheet2に表示するのはどうでしょうか?
標準モジュールにしてください。
Sub Sample1()
Dim myDic As Object
Dim i As Long, k As Long
Dim lastRow As Long, lastCol As Long
Dim myStr As String, wS As Worksheet
Dim myKey, myItem, myR, myAry1, myAry2
Set myDic = CreateObject("Scripting.Dictionary")
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
lastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
myR = Range(.Cells(1, "A"), .Cells(lastRow, lastCol))
For i = 1 To UBound(myR, 1)
If myR(i, 1) <> 0 Then
For k = 2 To lastCol
myStr = myStr & "_" & myR(i, k)
Next k
myDic.Add i & "_" & myR(i, 1), myStr
End If
myStr = ""
Next i
End With
myKey = myDic.keys
myItem = myDic.items
myR = Range(wS.Cells(1, "A"), wS.Cells(UBound(myKey) + 1, lastCol))
For i = 0 To UBound(myKey)
myAry1 = Split(myKey(i), "_")
myAry2 = Split(myItem(i), "_")
myR(i + 1, 1) = myAry1(1)
For k = 1 To UBound(myAry2)
myR(i + 1, k + 1) = myAry2(k)
Next k
Next i
Range(wS.Cells(1, "A"), wS.Cells(UBound(myKey) + 1, lastCol)) = myR
Set myDic = Nothing
wS.Activate
MsgBox "完了"
End Sub
※ 値のみの表示としていますので、書式などは無視されます。m(_ _)m
ありがとうございました。
参考にさせていただきます。
もう一人の方へ。
途中でお礼を送ってしまいました。すみません。実は、すでに消したB行には、時間が乗っていたので、これでソーティングすれば良いことを思い出しました。前にやった時はそうしていたのに、今日は以前の作業を忘れて、8時間かけてフリーズと戦い、無駄な時間を過ごしてしまいました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのバージョン2016フリーズ改善策 5 2022/12/13 09:13
- Android(アンドロイド) Androidってなぜ画像や動画のダウンロードがマトモにされない、出来ない、時々ダウンロードに失敗す 5 2022/08/05 23:22
- デスクトップパソコン ノートンが爆弾を残しているのか、Windowsディフェンダーが重いのかどっちなのでしょうか? 5 2023/05/06 12:01
- Windows 10 PCでゲームをやるとPC再起動必須のフリーズになります 4 2023/02/17 11:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- インターネット広告・アフィリエイト グーグルビジネスプロフィールの削除について 1 2023/07/12 05:15
- iPhone(アイフォーン) iphoneのicloud写真データ移動について 3 2022/11/28 18:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
エクセルでの列、行の挿入、削除に時間がかかるようになったが・・。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで2行単位のソートの出来...
-
エクセルで1列に500行並んだデ...
-
excel:別シートの値を飛び飛び...
-
エクセルで、重複データを除外...
-
エクセルで日付から日にちを削...
-
複数の条件に合う行番号を取得...
-
Countifよりも早く重複数をカウ...
-
Excelの30個ずつの平均値の出し方
-
500行の中から、多い順に抽出す...
-
VBA 数式を最終行までコピー
-
本日の日付を超えているものを...
-
Excel VBA 【QueryTables.Add】...
-
Excelで2つのデータの突合せを...
-
EXCELである範囲内での最大値の...
-
不要な行を消したい
-
Excelでデーターが多いので、平...
-
エクセル2016にて、行挿入&コピ...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
A1セルに入力したら、入力時間...
-
エクセルで勝手に表示された打...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで日付から日にちを削...
-
Excelで2行単位のソートの出来...
-
エクセルで1列に500行並んだデ...
-
excel:別シートの値を飛び飛び...
-
複数の条件に合う行番号を取得...
-
エクセルで、重複データを除外...
-
Excelの30個ずつの平均値の出し方
-
Countifよりも早く重複数をカウ...
-
VBA 数式を最終行までコピー
-
エクセルVBA C列に特定の文字列...
-
500行の中から、多い順に抽出す...
-
エクセル2016にて、行挿入&コピ...
-
エクセルで横並びの複数データ...
-
エクセル~空白のセルのある行...
-
Excelで2つのデータの突合せを...
-
エクセルで重複データを削除す...
-
エクセルで時刻だけを抜き出す...
-
【Excel】小計単位で並べ替えを...
-
本日の日付を超えているものを...
-
エクセルで1つの会社名に対して...
おすすめ情報