• ベストアンサー

エクセルで同じ数値の行を削除

Rin-u_uの回答

  • Rin-u_u
  • ベストアンサー率35% (6/17)
回答No.3

"Dictionary"を使った例を最近勉強したので・・・ 外してたらごめんなさい データのバックアップを取ってから試してください 表がSheet1にあるとして、Sheet2に書き出します。 Option Explicit Sub test() Dim myDic As Object Dim myR As Range Dim r As Range With Sheets("Sheet1") Set myR = .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)) End With Set myDic = CreateObject("Scripting.Dictionary") For Each r In myR If Not IsEmpty(r.Value) Then If Not myDic.Exists(r.Value) Then myDic(r.Value) = r.Offset(, 1).Value End If End If Next With Sheets("Sheet2") .Cells.ClearContents .Range("A1").Resize(, 2).Value = Sheets("Sheet1").Range("A1").Resize(, 2).Value With .Cells(2, 1).Resize(myDic.Count) .Value = Application.Transpose(myDic.Keys) .Offset(, 1).Value = Application.Transpose(myDic.Items) End With End With End Sub     

ponpa333
質問者

お礼

おかげさまで、出来ました!!ありがとうございました。

関連するQ&A

  • エクセルの同じ行の違う列を返す関数

    エクセルの同じ行の違う列を返す関数 エクセルの関数について質問があります。 例えば、以下のようなデータがあったとして、 左からA列、B列、上から1行、2行・・・5行目に 0.1  32 0.2  9 0.3  15 0.4  2 0.5  21 といったデータがあるときに、例えば MIN(B1:B5)はB4の5とわかった場合に、 この時のA4の数値を知りたいのです。 データが膨大だとその数値をさがすだけで大変です。 よろしくお願いします。

  • エクセルVBAでの行削除

    エクセルで下記のようなデータがあり、最終行は2万くらいです。間に空白行はありません  A    B   C     D 年月日 営業所 担当者名 営業成績  0708  東京   ○山   60 0708  大阪   △川   55 0708  東京   ○山   20 0708  名古屋  □元   60 0708  大阪   ×谷   55 0708  大阪   ×谷   10 0708  九州   ▽尾   45 このデータでB列の値が「大阪」と「東京」以外を行削除 するマクロを作ろうとするのですがうまく行きません。 (実際の営業所は1000くらいあって、必要な営業所数は11だけなのですが) よい方法をご存知でしたら、お教えください。

  • エクセルで複数ある同じ数値の行を1つだけにしたい

    初めて質問させて頂きます。 エクセルについての質問です。 バージョンは2002です。 複数ある行の中で、同じ数値がいくつかある場合、それを1行だけにする方法はありますでしょうか? 同じデータが複数ではなく1つだけにしたいのです。 ___A____B____C___ 1│330│220│520│ _________________ 2│330│ 80│890│ _________________ 3│330│ 72│ 69│ _________________ この様な場合、A列に同じ数値が入っている場合 1行のみ残したいのです。 何か良い方法ありましたら教えてください。

  • EXCEL表で同じ数値の行を削除する方法

    こんにちは。マクロなどを使わない方法を教えて下さい。 EXCEL2003の表で下記のような表があったとします。    A | B | 1|100 |東京 | 2|100 |    | 3|200 |大阪 | 4|200 |    | 5|200 |    | 6|300 |名古屋| 7|400 |仙台 | この表で、A列に同じ数字が入っている行の先頭行だけ残して、あとは削除したいんです・・・ 400行ぐらいあるので一気にできるいい方法がありましたら教えてください。 よろしくお願いします。

  • 行を削除するマクロ2

    a列には0から2の数値が入っています。 2行目から、a列の数値が2かつ最下の行(この画像の場合は12行目)までを削除するマクロのvbaの構文を教えてください。 ただし、a列の数値がすべて2未満の場合、行は削除しないようにしてください。 削除するのは行全体で、a列だけではありません。 エクセル2010です。 どうぞよろしくお願いします。

  • Excelで特定の数値が入った行の別列の数値を集計

    ExcelのA列にそれぞれ空白 or 1、2、3いずれかの値が入っています。 B列には行ごとに異なる数値(1、2、3、4)が入っています。 A列とB列の行数は同じです。 それぞれの数値を下記の通りにまとめたいと考えています。 ・A列に「1」が入っている行のB列の数値を集計し、その数をA100に入れる ・A列に「2」が入っている行のB列の数値を集計し、その数に1.5を掛けた値をA101に入れる ・A列に「3」が入っている行のB列の数値を集計し、その数に2を掛けた値をA102に入れる 上記はどのような計算式で実現できるでしょうか? よろしくお願いします。

  • 行を削除するマクロ

    a列には数値が入っています。 2行目から、a列の数値が最大かつ最下の行(この場合は12行目)までを削除するマクロのvbaの構文を教えてください。 削除するのは行全体で、a列だけではありません。 エクセル2010です。 どうぞよろしくお願いします。

  • エクセルで行を削除するコマンド

    こんにちは、お世話になります。 エクセルのVBAで、↓こんなことをしたいのですが、教えてください。  A列  B列 1 a   11 2 b   12 3 c   20 4 d   21 B列が20以上の時、行ごと削除する。 B列が「20の時」だったら、なんとかうまくいったのですが、 以上、以下、というのが全然わかりません。 それから、もし、皆さんが参考にされているサイトなどがあれば教えてください。 よろしくおねがいします。

  • 期待する数値が入力されている行番号を探したい

    エクセルの3698行、A列からC列に数値データがあります。 B列には0から2.702073までの数値データがあります。 C列には、2.5から5.0までの数値データがあります。 C列の数値データは、2.5に近いか、5.0に近いかどちらかの数値です。(3.5~4.5の数値データは存在しません) 2.5付近のデータがある一定の行において連続し、その後、5.0付近のデータがある一定の行において連続し、これらのデータは交互に発現し、その回数は40回です。 この表で、C行の数値データが2.5付近になったときの40個の行番号および当該行のB列の数値データを取得するための方法を教えて下さい。 どうぞよろしくお願いします。

  • Excelマクロ、特定行の削除

    A列に日付か文字のどちらかが入力してある表があります。  A列(日付文字) B列(時刻) C列以下(その他データ ) 日付は全て同じ日付(11月11日なら全部これ)で、文字も全て同じ文字です。 日付またはB列が時刻(さまざまな数値)の行を削除して、A列が文字の行だけ残したいのです。 Range("2:2").Select Selection.Delete Shift:=xlUp これを表範囲で繰り返すのはわかります。 "2:2"の所に変数を用いると思いますが、変数に日付の行を指定したりするコードが分かりません。 A列が文字の行を検索し、それ以外の行を削除でもよいのですよね。 よろしくお願いします。