• 締切済み

Excelのマクロ『困ってます!』

Excelで、以下のような機能を持ったマクロをつくりたいのですが、情けないのですが全くできません。 わかる方、どうかよろしくお願いいたします。 Sheet1のA1~D1の値(例では、東京、練馬区、○○、△△)を、 全て「含む」Sheet2のセルに目印をつけ(例は隣のセルに「○」と入力)し、 それが終わったらSheet1のA2~D2の値(例では、東京、練馬区、○○、□□)で・・・ の繰り返しです。 あくまでSheet1の値を全て「含む」ものが対象なので、Sheet2の5行目のように、 余計な値(例では★)が混じっているものも対象としたいです。 例: [Sheet1] 1 |東京都|練馬区|○○ |△△ | 2 |東京都|練馬区|○○ |□□ | 3 |東京都|目黒区|●● |■■ | 4 |埼玉県|川口市|◇◇ |×× | [Sheet2] 1 | |東京都港区・・・・ 2 | |東京都練馬区・・・・・ 3 | |東京都練馬区○○◎◎ 4 |○|東京都練馬区○○△△ 5 |○|東京都練馬区★○○★□□ 6 | |東京都練馬区★★□□ 7 |○|東京都目黒区●●■■ 8 |○|埼玉県川口市◇◇×× 9 | |神奈川県・・・・・

みんなの回答

回答No.1

こんな感じでどうでしょうか? VBEを起動してモジュールを作成し、下のソースをコピペします。 後は、main関数を実行すればいけるはずです。 Sub main() Sheets("Sheet2").Select Range("a1").Select Do Until ActiveCell.Value = "" If ChkOne(ActiveCell.Offset(, 2).Value) Then ActiveCell.Offset(, 1).Value = "○" End If ActiveCell.Offset(1).Select Loop End Sub Function ChkOne(myStr As String) As Integer Dim myRet As Integer myRet = 0 Sheets("Sheet1").Select Range("a1").Select Do Until ActiveCell.Value = "" If ChkAddress(myStr) Then myRet = ActiveCell.Value End If ActiveCell.Offset(1).Select Loop Sheets("Sheet2").Select ChkOne = myRet End Function Function ChkAddress(myStr As String) As Boolean Dim myRet As Boolean Dim myCell As String, i As Integer myRet = False i = 1 myCell = ActiveCell.Offset(, i).Value Do Until myCell = "" If InStr(myStr, myCell) > 0 Then Else GoTo EXIT_CHKADDRESS: End If myCell = ActiveCell.Offset(, i).Value i = i + 1 Loop myRet = True EXIT_CHKADDRESS: ChkAddress = myRet End Function

関連するQ&A

  • エクセル2007のマクロで検索

    マクロ初心者です。 どうぞよろしくお願いします。 sheet1のB1セルに都道府県名を入力すると、sheet2にある市町村名を抽出して、sheet1のB列(B3以降)に 反映したいのですが、どうぞご教授下さい。 (1)sheet1のB1セルに都道府県(例えば沖縄)を入力 (2)sheet1の適当な場所に『検索』ボタンを配置して、このボタンを押すと検索開始 (3)sheet2を検索して、ヒットした列の値(市町村)とセルの色をsheet1のB列に反映  この時、ヒットした列(都道府県)の値(市町村)の数はそれぞれ違うので、フレキシブルに反映 <sheet1>  B1 ⇒ 都道府県入力欄  B列(B3以降) ⇒ sheet2の値(市町村)を反映(都道府県により値の数は違います) <sheet2>  B2⇒東京都...............C2⇒沖縄県.............D2⇒埼玉県  B3⇒港区(セル色=青)......C3⇒那覇(セル色=灰)....D3⇒蕨(セル色=橙)  B4⇒江東区(セル色=黄)....C4⇒豊見城(セル色=黄). D4⇒草加(セル色=赤)  B5⇒江戸川区(セル色=緑)..C5⇒東風平(セル色=青)..D5⇒川越(セル色=緑)  B6⇒品川区(セル色=橙)....C6⇒空欄...............D6⇒大宮(セル色=紫)  B7⇒渋谷区(セル色=紫)....C7⇒空欄...............D7⇒空欄 【例】  sheet1のB1セルに[沖縄]と入力して『検索』ボタンを押下すると、sheet1に以下のように値が返る B3⇒那覇(セル色=灰) B4⇒豊見城(セル色=黄) B5⇒東風平(セル色=青) 宜しくお願いします。

  • エクセルでのデータ集計方法について

    エクセルで、【1.元データ】のようなデータがシート毎に5,000社ほどあります。このデータを各市区町村ごとに集計を取りたいのです。 【1.元データ】 A社 ┃ 東京都品川区戸越 B社 ┃ 東京都新宿区下落合 C社 ┃ 東京都新宿区新宿 D社 ┃ 埼玉県川口市柳崎 E社 ┃ 神奈川県川崎市中原区丸子通 そこで、ピボットテーブルを使って集計したかったのですが、同じセルの中に番地までデータが入っていて【2.集計後のイメージ】のような意図している集計が出来なかったです。 【2.集計後のイメージ】 品川区 ┃ 1 新宿区 ┃ 2 川口市 ┃ 1 川崎市 ┃ 1 これを解決するにはどういう集計の仕方をすればいいでしょうか? 現在はエクセル上で住所データで並べ替えをして数えて集計をしているのですが、時間がかかってしまうため、何かいい方法はありませんか?

  • マクロ

    【シート1】     A     B     C     D      E 1                          2月1日  2 ○○会社  3                     No.    201012 4  東京都       渋谷区 【シート2】      A       B      C      D      E 1   201012   2月1日   ○○会社   東京都  渋谷区 2   201014   3月14日  ▽▽会社  大阪府  大阪市 3   201015   2月26日  ■■会社  愛知県  名古屋市 4   201017   5月11日  ★★会社  滋賀県  大津市   シート1の「E1」「A2」「E3」「A4」「C4」セルに毎回違う文字を入力します。 このシート1の入力データをマクロでシート2へ蓄積していきたいのですが、 どのようなマクロを組めば良いですか?

  • 2つのセルで、条件を満たす時の数。

    シート1のA列には住所が入力されてします。   例:東京都港区・・・,埼玉県さいたま市・・・ 同様に、B列には通勤手段が入力されています。 例:電車,徒歩 A  住所    B  手段  東京都・・・  徒歩  東京都・・・  電車  埼玉県・・・  電車  千葉県・・・  自転車 別のシートのセルに、東京都に在住で徒歩の人数を表示させたいのです。 =COUNTIF(sheet1!A1:A3,"東京都*")までは、出来るのですが・・・。2つになると無理です。 よろしくお願いします。

  • 埼玉県北本市から東京都目黒区(東京都中目黒駅)の行き方

    埼玉県北本市から東京都目黒区(東京都中目黒駅)までの行き方を 知っている方は教えて下さい(>_<) 大変急いでます。。。 早めにお願いしますっ!!

  • Excelで、セル分割をしたい

    環境:Excel mac 現在、このようなデータ(3行1列)があります。 例 東京都目黒区 東京都品川区 東京都八王子市 これを、3行2列にしたいのですが、可能でしょうか? 例 東京都 目黒区 東京都 品川区 東京都 八王子市

  • EXCELのコピーについて・・・

    3つのセルに入力してある情報を1つのセルにまとめてコピーする事は可能でしょうか?? 例えば・・・A1のセルに神奈川県 B1のセルに横浜市C1のセルに本牧って入力してあるとしてそれをD1のセルに神奈川県横浜市本牧となるようにしたいんです。 あと・・・もしA1~A50までに「東京都」から始まる住所が入力されていたとしてそのA1~A50までの全てのセルから「東京都」という文字だけ削除する事って 可能でしょうか??? ちょっと分かりづらい説明ですみません。 どうかお願いします!!!

  • エクセル マクロ 対象列をコピーする

    エクセル マクロについて質問です。 下記のようなデータがありますが、【商品名】ごとにまとめたものを 別のシートへ行ごとコピーをして、商品名毎にまとめたいと思っています。 マクロの構文が思いつかず、よい方法はないでしょうか。 初歩的な質問かも知れませんがおしえてください。 マクロ実施前 【県名】  【商品名】 【売り上げ日】 【その1】 【その2】 埼玉県   A 東京都   B 神奈川県  B 千葉県 A 栃木県   C 群馬県   D マクロ実施後↓↓ Aシート 【県名】  【商品名】 埼玉県   A 千葉県 A Bシート 【県名】  【商品名】 東京都   B 神奈川県  B Cシート 【県名】  【商品名】 栃木県   C 群馬県   D Dシート 【県名】  【商品名】 群馬県   D

  • 埼玉県、東京都の古着屋をさがしています

    埼玉県の川口市周辺か、東京都北区周辺の古着屋を探しています。 埼玉県の南部でも知っている方がいたら教えてください 回答よろしくお願いします。

  • カーフィルムの施工の安いところ教えてください

    東京都の練馬区か板橋区、埼玉の川口 和光 新座近辺でカーフィルムの施工が安いところ教えてください。

専門家に質問してみよう