Excel VBA質問箱 IV

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

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


24909 / 76738 ←次へ | 前へ→

【57175】Re:ユーザフォームからシート名をとる
発言  kanabun  - 08/7/30(水) 20:26 -

引用なし
パスワード
   ▼つつじ さん:
こんばんは。

コードは 実際のものをVBEウィンドウよりコピーしてここに貼り付けるようにしてください
でないと、ここに書き込むときのタイプミスか、もともとの構文エラーなのか
分からないですから。

>フォームには
>private sub useform_initialize()
> dim i as long
> for i = 1 to worksheets.count
>   shtname.additem.worksheets(i).name
   ↑ここがコンパイルエラーになると思います
> next i
>end sub
>
>private sub shtname_click()
> public st as variant
  ↑ここもコンパイルエラーになると思います

> st=shtname.list(shtname.listindex)
> call ワーク
>end sub
>
>
>モジュール欄には
>sub ワーク()
>  with worksheets(st)
>     処理
>  end with
>end sub

プロシージャのなかに Public変数を宣言できるんでしたっけ?
まぁ、それは置いておいて、

標準モジュールのほうは

Sub ワーク(ShtName as String)
  With worksheets(ShtName)
     処理
  End With
End sub

とか、引数でシート名を受け取るようにしておいて、
これを呼び出すほうは、

Private Sub shtname_click()
 ワーク shtname.list(shtname.listindex) 
End sub

だけで済むかと思います。
shtname.listindex が -1 だった時のエラートラップは必要ですが。
0 hits

【57174】ユーザフォームからシート名をとる つつじ 08/7/30(水) 19:52 質問
【57175】Re:ユーザフォームからシート名をとる kanabun 08/7/30(水) 20:26 発言
【57186】Re:ユーザフォームからシート名をとる つつじ 08/7/30(水) 22:57 お礼

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