Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4704 / 13644 ツリー ←次へ | 前へ→

【55044】一致したデータにマークをたてる KOTARO 08/4/12(土) 13:16 質問[未読]
【55045】Re:一致したデータにマークをたてる マクロマン 08/4/12(土) 13:30 発言[未読]
【55046】Re:一致したデータにマークをたてる KOTARO 08/4/12(土) 14:03 発言[未読]
【55049】Re:一致したデータにマークをたてる KOTARO 08/4/12(土) 23:22 発言[未読]
【55051】Re:一致したデータにマークをたてる maka 08/4/12(土) 23:40 回答[未読]
【55053】Re:一致したデータにマークをたてる KOTARO 08/4/13(日) 0:19 お礼[未読]
【55050】Re:一致したデータにマークをたてる maka 08/4/12(土) 23:32 発言[未読]
【55052】Re:一致したデータにマークをたてる KOTARO 08/4/13(日) 0:15 お礼[未読]

【55044】一致したデータにマークをたてる
質問  KOTARO  - 08/4/12(土) 13:16 -

引用なし
パスワード
   シート1_B2:B49に48都道府県名が入力されています。
シート2_A2以下にこれも都道府県名が入力されていますが、
重複している県があるなど、48都道府県全てが揃っている
わけではありません。
※シート2のデータ数は一定ではなく増減します(最大1000)

シート2に入力されているデータを検索し、存在する都道府県名
についてはシート1の都道府県名の左セルA2:A49に「*」を表示
できればと思っています。

申し訳ありませんが、VBAのスキルがないため、ご教授いただけ
れば幸いです。よろしくお願いいたします。

【55045】Re:一致したデータにマークをたてる
発言  マクロマン  - 08/4/12(土) 13:30 -

引用なし
パスワード
   Worksheetfunction.CountIf
を使ってはいかがでしょう?

【55046】Re:一致したデータにマークをたてる
発言  KOTARO  - 08/4/12(土) 14:03 -

引用なし
パスワード
   すみません
マクロの記録くらいしかできないので
コードを例示いただければありがたいです

【55049】Re:一致したデータにマークをたてる
発言  KOTARO  - 08/4/12(土) 23:22 -

引用なし
パスワード
   下記のようなコードをつくりましたが
withのエラーがでてしまいました。


Sub 検索()
  Dim FoundCell As Variant
  With Worksheets("Sheet2")
    Set FoundCell = .Range("A2:A1000").Find("北海道")
    If FoundCell Is Nothing Then
     
    Else
      Worksheets("Sheet1").Range("A2").Value = "*"
  
  End With
  ・
  ・
  ・
  
  With Worksheets("Sheet2")
     Set FoundCell = .Range("A2:A1000").Find("沖縄県")
    If FoundCell Is Nothing Then
     
    Else
      Worksheets("Sheet1").Range("A48").Value = "*"

    End If
  
  End With
End Sub

【55050】Re:一致したデータにマークをたてる
発言  maka  - 08/4/12(土) 23:32 -

引用なし
パスワード
   ▼KOTARO さん:
>シート1_B2:B49に48都道府県名が入力されています。
>シート2_A2以下にこれも都道府県名が入力されていますが、
>重複している県があるなど、48都道府県全てが揃っている
>わけではありません。
>※シート2のデータ数は一定ではなく増減します(最大1000)
>
>シート2に入力されているデータを検索し、存在する都道府県名
>についてはシート1の都道府県名の左セルA2:A49に「*」を表示
>できればと思っています。
>
>申し訳ありませんが、VBAのスキルがないため、ご教授いただけ
>れば幸いです。よろしくお願いいたします。

VBAを、回答できるほどスキルはないのですが関数でやって見ました。

Sheet1のA列に印をつける(*)B列に都道府県名が入っている。
Sheet2のA列に不特定の都道府県が入っている

で、VBAではないのですが下記の関数でやってみたらできました。

=IF(COUNTIF(Sheet2!C:C,B1)>=1,"*","")

関数は、ダメなのかな?

【55051】Re:一致したデータにマークをたてる
回答  maka  - 08/4/12(土) 23:40 -

引用なし
パスワード
   ▼KOTARO さん:
>下記のようなコードをつくりましたが
>withのエラーがでてしまいました。
>
>
>Sub 検索()
>  Dim FoundCell As Variant
>  With Worksheets("Sheet2")
>    Set FoundCell = .Range("A2:A1000").Find("北海道")
>    If FoundCell Is Nothing Then
>     
>    Else
>      Worksheets("Sheet1").Range("A2").Value = "*"

    
     End If  入れてみました。

>  End With
>  ・
>  ・
>  ・
>  
>  With Worksheets("Sheet2")
>     Set FoundCell = .Range("A2:A1000").Find("沖縄県")
>    If FoundCell Is Nothing Then
>     
>    Else
>      Worksheets("Sheet1").Range("A48").Value = "*"
>
>    End If
>  
>  End With
>End Sub


一応、入れたら動きましたよ。

【55052】Re:一致したデータにマークをたてる
お礼  KOTARO  - 08/4/13(日) 0:15 -

引用なし
パスワード
   ▼maka さん:

アドバイスありがとうございました。関数でも同じ結果が得られますね。
(VBAだと全県分のコードが必要なので、こちらの方がシンプルでいいかも)

【55053】Re:一致したデータにマークをたてる
お礼  KOTARO  - 08/4/13(日) 0:19 -

引用なし
パスワード
   ▼maka さん:

アドバイスありがとうございました。エラー無く動き助かりました。
遅い時間まで申し訳ありませんでした。

4704 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free