No.4ベストアンサー
- 回答日時:
find,findnextメソッドを使った例です。
excel2000で動作確認しました。シート名、検索文字列は適宜変更してください。データが300件程度なら、この方法でも良いですが、今後増える場合は、次第に時間がかかるようになるのでお勧めできません。
Sub Sample()
Dim c
Dim myr As Integer
Dim myr0 As Integer
With Worksheets(1).Range("B1:B300")
Set c = .Find("大阪府", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Set c = .FindNext(c)
myr0 = Range(c.Address).Row
myr = Range(Sheets(2).Cells(Rows.Count, 1) _
.End(xlUp).Address).Row
Sheets(2).Range("A" & myr + 1 & ":C" & _
myr + 1).Value = _
Sheets(1).Range("A" & myr0 & ":C" & _
myr0).Value
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Set c = Nothing
End Sub
No.6
- 回答日時:
条件を設定して使用できるように作ってみました。
どのシートをアクティブにして実行してもOKです。
何回実行しても、現データで上書きします。
見出し行があれば、データの上の行だけコピーします。
Sub データ抽出()
'----- 設定事項 ------------
Const OrgSh = "Sheet1" ' <--- 基データのシート名
Const PicSh = "Sheet2" ' <--- 抽出先シート名
Const TopAdd = "B2" ' <--- 検索範囲の先頭(見出しを除く)
Const FindStr = "大阪府" ' < ---検索する文字列
'---------------------------
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim Rng As Range
Dim First As String
Dim N As Long
Set Ws1 = Worksheets(OrgSh)
Set Ws2 = Worksheets(PicSh)
Ws2.Cells.ClearContents '抽出先シートをクリア
If Range(TopAdd).Row > 1 Then ' 見出し行があればコピー
Ws1.Range(TopAdd).Offset(-1).EntireRow.Copy Destination:=Ws2.Rows(1)
N = 1
End If
Set Rng = Ws1.Range(TopAdd).EntireColumn.Find(FindStr) '部分一致検索
If Not Rng Is Nothing Then
First = Rng.Address
Do
N = N + 1
Rng.EntireRow.Copy Destination:=Ws2.Rows(N)
Set Rng = Ws1.Range(TopAdd).EntireColumn.FindNext(Rng)
Loop Until Rng Is Nothing Or Rng.Address = First
End If
End Sub
No.5
- 回答日時:
あ、よく考えたら住所でソートしてコピペじゃダメすか?どうしてもVBA?
findではB列(住所)に区市町村、番地まで入ってるとどうなるですか?ワイルドカードが使えるのかな(謎)
何が目的かによりますね。
No.3
- 回答日時:
>> 「都道府県」だけを抽出したりと前処理が要るかもです。
→300件程度とのことですので、私なら、
1.並びに意味があるならA列の前にもう1列挿入して連番を振っておく。
2.住所で並べ替え(ソート)して右端に1列追加して、オートフィルで都道府県名を入力
3.連番で再ソート
という風にやります。
4.もっと件数多ければ→アクセスでやります。
No.2
- 回答日時:
おっと、訂正。
range(cells(1,1),cells(300,4)).advancedfilter xlfiltercopy,Range(Worksheets("シート3").Cells(1,1).value), Worksheets("シート2").Cells(1, 1), False
No.1
- 回答日時:
B列が住所ということは、番地まで入ってるってことですよね。
そのままではツラいかもです。「都道府県」だけを抽出したりと前処理が要るかもです。D列に都道府県名のみを入れて、シート3のA1に「大阪府」と入れて
range(cells(1,1),cells(300,4)).advancedfilter xlfiltercopy,range
Range(Cells(1, 1), Cells(MyR, 20)).AdvancedFilter xlFilterCopy, Range(Worksheets("シート3").Cells(1,1).value), Worksheets("シート2").Cells(1, 1), False
ぐらいでしょうか。(検証してません。ご参考まで。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
【お題】マッチョ習字
【大喜利】 「精神を鍛えるため」にと、ジムから書初めの宿題を出されたマッチョたちが半紙に書いてきたこと
-
自分の通っていた小学校のあるある
進学したり大人になってから、「あれって自分の小学校だけだったのかな」と思うことありますよね。 逆に「他の小学校ってそんなことするの!?」と思ったり。 そんな「自分の通っていた小学校」のあるあるを教えてください!
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
【VBA】特定の文字が入っている行の一部を抽出して別シートコピーするには
Visual Basic(VBA)
-
-
4
エクセルVBA C列に特定の文字列を含む行のみを抽出し、一つのExcelにまとめたい。
Excel(エクセル)
-
5
特定の文字列が含まれている行のみ抜き出して、別シートに書き出す方法(Excel 2007)
Excel(エクセル)
-
6
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
7
エクセルVBAで、ある指定した文字を含む行だけを選択したいのですが、、 例えば、1〜20行目までに"737317"
Excel(エクセル)
-
8
特定の文字列があったらその行をまるごと別シートに反映させたい
Excel(エクセル)
-
9
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
10
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。
Excel(エクセル)
-
13
VBAで結合セルを転記する法を教えてください
Excel(エクセル)
-
14
エクセルで、チェックボックスにチェックをいれた行のデータのみを別シートに転記するには
Excel(エクセル)
-
15
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
16
Excelで2行単位のソートの出来る方法があれば教えてください。
Excel(エクセル)
-
17
ある条件を満たすセルに対応する行のセル内容をコピーして・・
Visual Basic(VBA)
-
18
マクロを複数シートに実行するには?
Excel(エクセル)
-
19
Excel VBAである特定文字列を含むシート名例えば「りんご(1)」
Excel(エクセル)
-
20
【VBA】シート名に特定文字が入っていたらマクロを実行したいです。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの保護で、列の表示や...
-
文字の色も参照 VLOOKUP
-
ExcelのVlookup関数の制限について
-
Excel VBA ピボットテーブルに...
-
【条件付き書式】countifsで複...
-
SUMPRODUCTにて別シートのデー...
-
VLOOKアップ関数の結果の...
-
エクセルで、チェックボックス...
-
別シートに成約をボタン1つで転...
-
エクセルでIPマッピング表を作る
-
【VBA】シート名と見出しが一致...
-
Excel の複数シートの列幅を同...
-
VBAで検索して、行をコピー&追...
-
エクセルで、book全体の検索&...
-
Excelでの並べ替えを全シートま...
-
エクセル複数シートのデータを...
-
エクセル 複数シートのデータ...
-
エクセルで横並びの複数データ...
-
【VBA】複数のシートの指定した...
-
オートフィルタ使用時にCOUNTIF...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
文字の色も参照 VLOOKUP
-
Excel の複数シートの列幅を同...
-
VBAで繰り返しコピーしながら下...
-
【条件付き書式】countifsで複...
-
Excelのセルの色を変えた行(す...
-
エクセルで、チェックボックス...
-
エクセル マクロ 標準モジュー...
-
Excelでの並べ替えを全シートま...
-
Excelに自動で行の増減をしたい...
-
エクセルの列の限界は255列以上...
-
【VBA】複数のシートの指定した...
-
エクセルで横並びの複数データ...
-
Excel VBA ピボットテーブルに...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
Excel 2段組み
-
【VBA】シート名と見出しが一致...
-
excel 複数のシートの同じ場所...
おすすめ情報