- ベストアンサー
シート1とシート2のB列を比較して同じ内容の行を削除するエクセルマクロの作成方法
pkh4989の回答
以下の例を参考にしてください。 Sub 削除() Dim wh1 As Worksheet Dim wh2 As Worksheet Dim f As Range Dim wR As Integer Dim mR As Long Dim wStr As String ' Set wh1 = Worksheets("Sheet1") Set wh2 = Worksheets("Sheet2") wR = 0 With wh1 mR = .Cells(Rows.Count, "A").End(xlUp).Row For wR = mR To 1 Step -1 wStr = .Cells(wR, "B") Set f = wh2.Range("B1:B" & wh2.Cells(Rows.Count, "B").End(xlUp).Row).Find(wStr) If Not f Is Nothing Then .Rows(wR).Delete End If Next End With End Sub
関連するQ&A
- エクセル マクロ 対象列をコピーする
エクセル マクロについて質問です。 下記のようなデータがありますが、【商品名】ごとにまとめたものを 別のシートへ行ごとコピーをして、商品名毎にまとめたいと思っています。 マクロの構文が思いつかず、よい方法はないでしょうか。 初歩的な質問かも知れませんがおしえてください。 マクロ実施前 【県名】 【商品名】 【売り上げ日】 【その1】 【その2】 埼玉県 A 東京都 B 神奈川県 B 千葉県 A 栃木県 C 群馬県 D マクロ実施後↓↓ Aシート 【県名】 【商品名】 埼玉県 A 千葉県 A Bシート 【県名】 【商品名】 東京都 B 神奈川県 B Cシート 【県名】 【商品名】 栃木県 C 群馬県 D Dシート 【県名】 【商品名】 群馬県 D
- ベストアンサー
- その他MS Office製品
- エクセルでの列の文字列の一括置換え
ご質問失礼いたします。 エクセルので以下のようなことを 行いたくご相談させて頂きます。 以下のようなExcel A | B 01 | 北海道 02 | 青森県 03 | 岩手県 04 | 宮城県 05 | 秋田県 06 | 山形県 07 | 福島県 08 | 茨城県 09 | 栃木県 10 | 群馬県 (47都道府県分あり) ~~~~~~ 別ワークシートに A | B | C | D 山田太郎 群馬県 ○○市 ○○3丁目10-1 鈴木花子 秋田県 ○○市 ○○5丁目10-1 ~~~~~~ とあってB列の都道府県を前者のB列>A列の数字に変換し A | B | C | D 山田太郎 10 ○○市 ○○3丁目10-1 鈴木花子 05 ○○市 ○○5丁目10-1 ~~~~~~ このようにしたいです。 後者の行が数千あるのと都道府県が多いので通常のExcelの一括置換えなどではなく、 効率の良い方法や関数などございましたら、是非ご教授いただければ幸いです。
- ベストアンサー
- その他MS Office製品
- マクロによる条件での行の入力と削除
初めまして、よろしくお願いします。 次のような二枚のシートがあります シート1 A B C 1 2 ・ 99 100 23 101 25 102 31 103 34 104 43 105 44 106 49 107 50 108 55 109 60 110 111 ・ ・ シート2 A B C 1 2 ・ 99 100 23 1 2 3 101 25 4 5 6 102 31 7 8 9 103 34 0 1 2 104 43 3 4 5 105 44 6 7 8 106 49 9 0 1 107 50 2 3 4 108 55 5 6 7 109 60 8 9 0 110 111 ・ ・ シート1とシート2のA列に入っている数字が通し番号です。シート2では加えてその通し番号のデーター数字がB列、C列、D列に入っています。 のこシート1の通し番号31が削除、代わりに通し番5番と51番を追加し、 シート1 A B C 1 2 ・ 99 100 5 101 23 102 25 103 34 104 43 105 44 106 49 107 50 108 51 109 55 110 60 111 112 ・ ・ マクロを実行すると シート2 A B C 1 2 ・ 99 100 5 101 23 1 2 3 102 25 4 5 6 103 34 0 1 2 104 43 3 4 5 105 44 6 7 8 106 49 9 0 1 107 50 2 3 4 108 51 109 55 5 6 7 110 60 8 9 0 111 112 ・ ・ シート2がこように通し番号31が入っていた行番102行が削除され、新たに通し番5番が行番100に、51番が行番108に挿入追加されるマクロを教えていただきたく、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル 同じ内容行削除マクロ 2
シート1、シート2(基準)のB列を比較して同じ内容行を削除したいのですが、「栃木県3」と「#栃木県3」を同じのもと考えて削除されてしまいます。 Sub 削除() Dim wh1 As Worksheet Dim wh2 As Worksheet Dim f As Range Dim wR As Integer Dim mR As Long Dim wStr As String ' Set wh1 = Worksheets("Sheet1") Set wh2 = Worksheets("Sheet2") wR = 0 With wh1 mR = .Cells(Rows.Count, "A").End(xlUp).Row For wR = mR To 1 Step -1 wStr = .Cells(wR, "B") Set f = wh2.Range("B1:B" & wh2.Cells(Rows.Count, "B").End(xlUp).Row).Find(wStr) If Not f Is Nothing Then .Rows(wR).Delete End If Next End With End Sub 解決策教えて下さい。
- ベストアンサー
- オフィス系ソフト
- 行抽出マクロについて教えてください。
エクセルで sheet1このように入力されております。 A列には製造番号 B列には日付 C列単価 D列記号がすでに入力済みです。 _____________________________________ 行/列 A B C D 1 123456 4/5 1020 K 2 789456 5/2 500 D 3 789789 6/2 9000 F 4 456789 6/2 5000 S ------------------------------------- sheet2には製造番号が500行ランダムに入力済みです。 _____________________________________ 行/列 A B C D 1 456789 2 789456 3 789789 4 456789 5 : 6 : ------------------------------------- ボタンをおしたら一致した製造番号のBCD列にsheet1の日付・単価・記号を自動的に入力したい。どなたかご教授お願いいたします。
- ベストアンサー
- オフィス系ソフト
- 行抽出マクロについて教えてください。
エクセルで sheet1このように入力されております。 A列には製造番号 B列には日付 C列単価 D列記号がすでに入力済みです。 _____________________________________ 行/列 A B C D 1 123456 4/5 1020 K 2 789456 5/2 500 D 3 789789 6/2 9000 F 4 456789 6/2 5000 S ------------------------------------- sheet2には製造番号が500行ランダムに入力済みです。 _____________________________________ 行/列 A B C D 1 456789 2 789456 3 789789 4 456789 5 : 6 : ------------------------------------- ボタンをおしたら一致した製造番号のBCD列にsheet1の日付・単価・記号を自動的に入力したい。どなたかご教授お願いいたします。
- ベストアンサー
- オフィス系ソフト
- 【Excel】 印をした行の内容を別のシートに表示します。
こんにちは ─────────────────── sheet1 A B C D 1 あいうえお 東京都 1000 2 かきくけこ 大阪府 2000 3 ● さしすせそ 愛知県 2500 4 たちつてと 福岡県 1800 5 ・ ・ ・ 6 ・ ・ ・ 7 ・ ・ ・ 8 ・ ・ ・ ─────────────────── sheet2 A B C 1 さしすせそ 愛知県 2500 ─────────────────── 上記のようにsheet1にリストがあり、そのA列の中に●で印をすると sheet2にその●をした行の内容が表示されるようにしたいのですが、 sheet2 A1 B1 C1 の式を教えてください。 A列の●は一箇所です。
- ベストアンサー
- オフィス系ソフト
- Excelで1行の内容を、隣のシートで2行にしたい
Excelで表に書かれている内容(1行でA,B,C,D)を、隣のシート(2行で上の行にA,B、下の行にC,D)に飛ばす方法を教えてください。
- ベストアンサー
- Excel(エクセル)
- Excelで
Excel2000を使用しています。 関数だけで出来るのかも分かりませんが、 以下のようにD列に表示させる方法を教えてください。 CONCATENATEと何か別の関数を組み合わせれば出来るものでしょうか? A B C D 1きゅうり 静岡 100 静岡 2 愛媛 5 3トマト 栃木 20 栃木 4みかん 神奈川 80 埼玉/神奈川/岩手 5 埼玉 150 6 岩手 30 7もも 長野 50 長野 8レタス 群馬 3 群馬 1.A列は、あいうえお順でソートされています。 2.A2は空白ですが「みかん」のデータです。 3.A5とA6は空白で「トマト」のデータです。 4.A列で同一データのB列データをD列に「/」で区切り1つにする:例 D4 5.A列で同一データのB列データでもC列の値が10以下は含めない:例 D1 6.C列の値が10以下でもA列データが1つのものはD列に表示:例 D8 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 行抽出マクロについて教えてください。
エクセルで sheet1このように入力されております。 A列には製造番号 B列には日付 C列単価 D列記号がすでに入力済みです。 _____________________________________ 行/列 A B C D 1 123456 4/5 1020 K 2 789456 5/2 500 D 3 789789 6/2 9000 F 4 456789 6/2 5000 S ------------------------------------- sheet2には製造番号が500行ランダムに入力済みです。 _____________________________________ 行/列 d E F G 1 456789 2 789456 3 789789 4 456789 5 : 6 : ------------------------------------- ボタンをおしたら一致した製造番号のEFG列にsheet1の日付・単価・記号を自動的に入力したい。どなたかご教授お願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
お返事遅くなり申し訳御座いません。pkh4989様の回答を参考にさせて頂きました。有難う御座います。