- ベストアンサー
エクセル2003のVBAで重複行削除
jcctairaの回答
H45eAさん こんにちは。 一応、以下の処理とできるかと思います。 ご確認ください、 Sub 重複削除() Dim I As Long Dim J As Long Dim 処理範囲 As Range Set 処理範囲 = Range(Range("A1"), Cells(Rows.Count, "C").End(xlUp)) For I = 1 To 処理範囲.Rows.Count - 1 For J = 処理範囲.Rows.Count To I + 1 Step -1 If Cells(I, "A") = Cells(J, "A") And Cells(I, "B") = Cells(J, "B") Then Cells(I, "C").ClearContents Cells(J, "A").EntireRow.Delete End If Next J Next I End Sub
関連するQ&A
- エクセル2003のVBAを教えて
エクセル2003のVBAを教えてください。 次の対象データで、(1)(2)(3)の作業が出来るエクセルVBAを教えて下さい。 (1)(2)(3)個々のVBAでお願いします。 ●対象データ:種類(A列)、文字(B列)、 データの行数:不特定なので、データのある最終行までとします。 ●教えていただきたい項目 (1):種類だけを(C列)に取り出す。 (2):種類の先頭に空白の行を3行入れて、追加の2行目の種類(A列)に文字(B列)を入れる。 (3):種類が5行以上あるときは、5行ごとに空白行を追加する。 ●対象データ 種類(A列) 文字(B列) AA あああ BB いいい BB いい BB いいい CC うう CC うう DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ ●(1)のVBAの結果(このようになるVBAを教えてください。) (C列) AA BB CC DD ●(2)、(3)のVBAの結果(このようになるVBAを教えてください。) 種類(A列) 文字(B列) あああ AA あああ いいい BB いいい BB いいい BB いいい うう CC うう CC うう ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ
- ベストアンサー
- Visual Basic
- Excel 複雑なセル埋めのVBA
エクセルで入力済みのデータをテーブル形式にするためにVBAを組んでいますが突き当たりました、お知恵を拝借させてください。現在成形出来ているのは以下の状態です。 A列 B列 C列 1行 AA 2 1 2行 3行 BB 3 2 4行 5行 6行 7行 8行 9行 CC 2 3 10行 11行 12行 13行 14行 これを以下のようにB列を埋めたいと考えています。A列を埋めるVBAは当方で分かります。 A列 B列 C列 1行 AA 1 1 2行 AA 2 3行 BB 1 2 4行 BB 2 5行 BB 3 6行 BB 1 7行 BB 2 8行 BB 3 9行 CC 1 3 10行 CC 2 11行 CC 1 12行 CC 2 13行 CC 1 14行 CC 2 B1に2が入っていてC1に1が入っているときはB1から下へ1,2の連番を1回入れます、B3に3と入っていてC3に2と入っているときはB3から下へ1,2,3の連番を2回繰り返します、同じようにB9以降も処理しています。連番のスタートは必ず1で、現在B列に入っている数字が連番の最後に当たる数値でC列が繰り返し回数という事です。上の例ではB列を書き直していますが、新たにD列にB列に入れたい連番の列を作る方法でもいいと思っています。 もし表が崩れていたら済みませんでした。恐れ入りますがポインタでも結構ですのでご教授下さい、よろしくお願いします。
- 締切済み
- その他(業務ソフトウェア)
- エクセルVBAでセル結合
いつもお世話になっています。 エクセル2003でVBAを使って下記をしたいのでその、VBA構文を教えて下さい。 特定の列のあるセルに文字が入っています。 (文字が入っている列は固定ですが、行番号はデータによって変わります。例えば、Aデータの場合は「J30」、Bデータの場合は、「J55」だったりします。) この文字が入っているセルをVBAで検索し、検索したセルを右隣のセルと結合します。(先ほどのAデータの場合、J30:Z30に結合します。) 更に、文字が入っているセルが2以上の複数の場合があります。(先ほどのAデータの場合、「J30」と「J40」と「J45」という感じです。文字が入っているセルの数はデータにより異なります。) 結合が終わり、このシートのデータがあるところだけに罫線を引きます。(このシートのデータというのは、前述の文字とそれ以外は、「数字」と「・」です。 ややこしいですが、よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Excel マクロ VBA セル内で改行された文字列の分割
はじめまして。 ExcelのVBA初心者で、ちょっと困っています。 (例) (1) セルA1に以下のような改行された文字列が入力されています。 【セルA1】 a aa aaa b bb bbb (2) セルA1内の文字列を3行毎に分割し、セルA2以降に表示させたい。 【セルA2】 a aa aaa 【セルA3】 b bb bbb ※ 今回の例ではセルA1に6行しかありませんが、実際に行数は決まっていません。 そこで以下のようなVBAを見よう見まねで作り、1行毎の分割はうまくいったのですが、『3行毎に分割』ができません。 Sub 分割() Dim A, B, C A = Split(Range("A1"), Chr(10)) B = 0 For Each C In A B = B + 1 Range("A2").Offset(B - 1, 0).Value = C Next End Sub ご教授いただけると助かります。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルVBA 文字数指定で置換
Excel VBA で、 (1) Sheet1のA1:A9の各文字列の3文字目から2文字を Sheet2のB1の文字列(bb)に変換する。 (2) Sheet1のA1:A9の各文字列の5文字目から2文字を Sheet2のC1の文字列(cc)に変換する。 とするには、どのようにしたら良いでしょうか?
- ベストアンサー
- オフィス系ソフト
- ExcelのVBAで連番を振る。
A列が空白で、B列に1行目から***行目(毎回変わる)までデータが入力されている時、 A列に、1から***まで(B列のデータが終わるまで、連番を振るにはどんなVBAを かいたらいいのでしょうか? お願いします。
- 締切済み
- オフィス系ソフト
- Excel VBAで値が重複する行を削除する
Excel2000を使っています。 シートAに数千件のデータがあります。 シートBのE列にある文字とシートAのD列の文字が重複する場合に、シートAの重複するセルがある行を削除する(且つできれば行のデータを抜き出すVBAを作ろうと考えています。 最近VBAの初心者本をやっと理解したところで、ちんぷんかんぷんとまではいかないけど、知恵熱がでました。 仕事なので自分でなんとかすべきかと思いますが、きっかけの調べ方がまずわからない。 どなたか、解かるきっかけだけでも与えて頂けないでしょうか。とくに、別シートの値と重複する値を探す場合に何をいれるかわかればきっと道は開けると思うんですが…。 初めての質問なので、質問内容が至らなかったらもうしわけありません。
- 締切済み
- オフィス系ソフト
- エクセルVBAでセル選択
エクセル2000でリストを作成し、VBAで編集しようとしています。 A列に入力されているコードの先頭に「’」をつけて文字列とするための関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています。 A列の最終セルを取得するVBAは分かったのですが、その値をB列の選択範囲として使用する方法がわかりません。 エクセルVBAは全くの初心者です。 どなたか教えてください!
- ベストアンサー
- オフィス系ソフト
お礼
早速の返事ありがとうございます。希望通りの処理結果でした。プログラムの内容を自分なりに理解して 次に進みます。勝手ですみませんが、この質問の前に「エクセル2003のVBAを教えて」で質問しています。そちらの方もお願いしたいのですが。今後、色々質問すると思いますがそのときはよろしくお願いします。本当に助かりました。