Excel VBA質問箱 IV

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

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


72347 / 76732 ←次へ | 前へ→

【8868】Re:シート名を変数で指定したい
質問  まめ  - 03/11/6(木) 17:48 -

引用なし
パスワード
   ▼INA さん:
>worksheets("北海道")
>とか
>Worksheets(combobox1.value)
>とか
>dim mysheet as string
>mysheet=combobox1.value
>Worksheets(mysheet)
>とか?

シート名はオプションボタンのキャプションで変わります。
例えば
オプションボタンで"北海道"を選択すると、"北海道"シートにある、市町村名Rowのデータをコンボボックスのアイテムにしていくようになっています。
そのコンボボックスから市町村名を選択すると、その市町村に対応するレコードを引っ張るようにしたいんです。

現在はオプションボタンのクリックイベントで、各オプションボタンを選択すると、そのキャプションがstrSheetNameに格納されるようになっています。
以下はSheet1のコンボボックスのチェンジイベントプロシージャのソースです。
コンボで選択した市町村名をシート1のセルA32に入れ、それをもとにVlookupを使って
B32,C32…とその市町村に対応するデータを入れたいのですが、  「Set RS = Range(strSheetName & "!B5:G58")」
でいつもRangeメソッドエラーになり、実行できません。
どうしたらいいでしょう?


Private Sub ComboBox1_Change()

  Dim RS As Range
  
     Sheets(strSheetName).Activate
    Set RS = Range(strSheetName & "!B5:G58")

    Range("A32").Value = ComboBox2.Text
    Range("B32").Value = WorksheetFunction.VLookup(Range("A32"), RS, 2)
    Range("C32").Value = WorksheetFunction.VLookup(Range("A32"), RS, 3)
    Range("D32").Value = WorksheetFunction.VLookup(Range("A32"), RS, 4)
    Range("E32").Value = WorksheetFunction.VLookup(Range("A32"), RS, 5)
    Range("F32").Value = WorksheetFunction.VLookup(Range("A32"), RS, 6)
   
End Sub
長々とすみませんが、よろしくお願いします。
1 hits

【8864】シート名を変数で指定したい まめ 03/11/6(木) 16:28 質問
【8866】Re:シート名を変数で指定したい INA 03/11/6(木) 16:50 回答
【8868】Re:シート名を変数で指定したい まめ 03/11/6(木) 17:48 質問
【8869】Re:シート名を変数で指定したい INA 03/11/6(木) 18:00 回答
【8878】Re:シート名を変数で指定したい まめ 03/11/7(金) 9:46 お礼

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