アプリ版:「スタンプのみでお礼する」機能のリリースについて

①EXCELフォーム自動的に起動させる方法がわからず困っています。
いろいろ本を見て自動オープンの方法を試しているのですが起動しません。まずわからない点は、フォームやモジュールを作るとエクスポートして保存します。その保存したフォームやモジュールをインポトしなくても自動起動するのでしょうか? エクセルを開いてフォームやモジュールはあらかじめ手動で
インポートしてから使うものなのでしょうか?
②フォームのタブストリップに表データを表示させるVBAがわかりません。コーディグのサンプルをみてやっているのですが、デバッグでどうしてもエラーしてしまいます。エラーメッセージはオブジェクトが必要ですとか値が0等が出てきます
フォームやその中のタブストリップなどと、エクセルの表との関係性をどこかで示すのでしょうか?プロパティの中にあらかじめ表のシートの名前などを書いておくのでしょうか?コンボボックスなどはその方法でデータがでてきましたがタブストリップでそうしますとタブごとに違う表データを表示できません。

A 回答 (2件)

疑問点


1、自動起動とは?ファイルオープン時に開くってこと?
2、エクスポート?VBAは普通にファイルの保存で保存できますが、特殊なやり方してる?
3、表データとは?縦横のセルで表示させたい?リストボックス?

あと、コンボやリストはセル範囲を連結できますが、タブにその機能はありません。タブにコンボかリストを置いて、それに連結させるわけです。

ちょっと不明点が多く、イメージできません。
画像とかないの?
    • good
    • 0

モジュールのエクスポートは、あるブックで作成したモジュールをバックアップする。

または、他のブックに移植する場合などに使うものですよね?マクロ有効ブック(xlsm)で保存すればモジュールも一緒に保存されるので、普通は使う必要はありません。
自動オープンでフォームを開く場合は、ThisWorkbookオブジェクトのWorkbook_Openイベントプロシジャに次のように記述すればOKです。

Private Sub Workbook_Open()
UserForm1.show
End Sub

タブストリップでリンク先のシートを変更するのは、こんな感じです。
タブを切り替える度に、表示されたタブのValueプロパティを判断して、リストボックスのRowSourceプロパティを設定し直します。

Private Sub TabStrip1_Change()
Dim ws As String
Select Case TabStrip1.Value
Case 0
ws = "Sheet1"
Case 1
ws = "Sheet2"
Case Else
ws = "Sheet3"
End Select
ListBox1.RowSource = ws & "!A1:A10"
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!