Excel VBA質問箱 IV

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

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


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

【22901】DialogSheetsとEditBoxes(1).Text について YN61 05/3/6(日) 20:51 質問[未読]
【22906】Re:DialogSheetsとEditBoxes(1).Text につ... ichinose 05/3/6(日) 22:46 発言[未読]
【22910】Re:DialogSheetsとEditBoxes(1).Text につ... YN61 05/3/7(月) 8:02 質問[未読]
【22911】Re:DialogSheetsとEditBoxes(1).Text につ... ichinose 05/3/7(月) 8:33 発言[未読]
【23076】Re:DialogSheetsとEditBoxes(1).Text につ... YN61 05/3/12(土) 10:27 お礼[未読]

【22901】DialogSheetsとEditBoxes(1).Text につい...
質問  YN61  - 05/3/6(日) 20:51 -

引用なし
パスワード
   下のようなコードを見たのですが、実際にテストランしたいのですが
ダイアログボックスとEditBoxsに付いてどのように作成すると良いのでしょうか。
またこの場合のコンボボックスは何処に作るのでしょうか。
教えてください。

Option Explicit
Dim 下
'=========================================================================================
Sub コンボボックスでDBへ直接入力する()
  Sheets("DB").Select             '住所録データベース用のシート
  Do
    下 = Range("C1").End(xlDown).Row    'セルC1の列の下端検出
    DialogSheets(1).Show          '入力用のダイアログ(コンボボックスなど)を映す
    Range(Cells(下 + 1, 3), Cells(下 + 1, 3)) = DialogSheets(1).EditBoxes(1).Text '県名をC列のセルへ
    Range(Cells(下 + 1, 4), Cells(下 + 1, 4)) = DialogSheets(1).EditBoxes(2).Text '住所地をD列のセルへ
  Loop
End Sub

【22906】Re:DialogSheetsとEditBoxes(1).Text に...
発言  ichinose  - 05/3/6(日) 22:46 -

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

>下のようなコードを見たのですが、実際にテストランしたいのですが
>ダイアログボックスとEditBoxsに付いてどのように作成すると良いのでしょうか。
>またこの場合のコンボボックスは何処に作るのでしょうか。
>教えてください。
>
>Option Explicit
>Dim 下
>'=========================================================================================
>Sub コンボボックスでDBへ直接入力する()
>  Sheets("DB").Select             '住所録データベース用のシート
>  Do
>    下 = Range("C1").End(xlDown).Row    'セルC1の列の下端検出
>    DialogSheets(1).Show          '入力用のダイアログ(コンボボックスなど)を映す
>    Range(Cells(下 + 1, 3), Cells(下 + 1, 3)) = DialogSheets(1).EditBoxes(1).Text '県名をC列のセルへ
>    Range(Cells(下 + 1, 4), Cells(下 + 1, 4)) = DialogSheets(1).EditBoxes(2).Text '住所地をD列のセルへ
>  Loop
>End Sub
シートのシート名が表示されているタブがありますよね?
例えば、Sheet1等・・・。

ここにマウスポインタを合わせて、その状態で
「右クリック」----「挿入」を選択してください。

挿入ダイアログが表示されます。

「MS Excel5.0ダイアログ」を選択してOKクリック。
これでダイアログシートが挿入されます。

後は、「フォーム」ツールーバーのコントロール内のコンボボックス(エディットボックス)を表示されているフォームに作成して下さい。

以上です。

【22910】Re:DialogSheetsとEditBoxes(1).Text に...
質問  YN61  - 05/3/7(月) 8:02 -

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

おはようございます。早速ご返事ありがとうございます。


>シートのシート名が表示されているタブがありますよね?
>例えば、Sheet1等・・・。
>
>ここにマウスポインタを合わせて、その状態で
>「右クリック」----「挿入」を選択してください。
>
>挿入ダイアログが表示されます。

ダイアログの表示がされました(方眼上に「ダイアログタイトル」
「OK」「キャンセル」がついています。出来ました。

>「MS Excel5.0ダイアログ」を選択してOKクリック。
>これでダイアログシートが挿入されます。

>後は、「フォーム」ツールーバーのコントロール内のコンボボックス(エディットボックス)を表示されているフォームに作成して下さい。

ここでの「フォーム」は「ユーザーフォーム(UserForm1)」の挿入のことでしょうか?
それともダイアログシート状のフォーム的なものでしょうか?
このダイアログシートのフォーム的なものは編集不可能ですが・・・ダイアログシートを表示する意図が分かりません。

ご指摘いただけませんでしょうか。

【22911】Re:DialogSheetsとEditBoxes(1).Text に...
発言  ichinose  - 05/3/7(月) 8:33 -

引用なし
パスワード
   ▼YN61 さん:
おはようございます。

>>シートのシート名が表示されているタブがありますよね?
>>例えば、Sheet1等・・・。
>>
>>ここにマウスポインタを合わせて、その状態で
>>「右クリック」----「挿入」を選択してください。
>>
>>挿入ダイアログが表示されます。
>
>ダイアログの表示がされました(方眼上に「ダイアログタイトル」
>「OK」「キャンセル」がついています。出来ました。
>
>>「MS Excel5.0ダイアログ」を選択してOKクリック。
>>これでダイアログシートが挿入されます。
>
>>後は、「フォーム」ツールーバーのコントロール内のコンボボックス(エディットボックス)を表示されているフォームに作成して下さい。

エディットボックスは、ユーザーフォームのテキストボックスに相当するものでした。


>ここでの「フォーム」は「ユーザーフォーム(UserForm1)」の挿入のことでしょうか?
>それともダイアログシート状のフォーム的なものでしょうか?

ユーザーフォームとは、別物です。私も普段はこれを使用しませんが、Excel95以前の
フォーム作成表示用の手法だったのではないでしょうか?
ここでいう「フォーム」とは、ツールバーの事です。

通常、ダイアログシートが表示されると、ツールバーも表示されるようになっているみたいなのですが・・・・。
普通のワークシートでも「コントロールツールボックス」とか「フォーム」という
名前が付けられたツールバーを表示させる事ができると思います。

このダイアログシートには、「フォーム」ツールバーに格納されている
コントロールを貼り付けます。
貼り付け方は、シートにコントロールを設定するのとほぼ同じです。

>このダイアログシートのフォーム的なものは編集不可能ですが・・・ダイアログシートを表示する意図が分かりません。

うん?、編集は可能ですよ!!
ダイアログシートに表示されたフォームの四隅のひとつをマウスで選択すれば、
フォームが選択されます。大きさの変更等が可能になりますし、
ユーザーフォームで言うUserform1.Captionに相当する箇所も変更可能ですよ!!

現在のユーザーフォームに比べると細かい設定は出来ないみたいですけど。
つまり、ユーザーフォームでは可能でもダイアログシートでは出来ない事は
いくつもあると思います。

調べていけば、この逆もあるかもしれませんよ。
ユーザーフォームでは出来ないこと(又は、実現が面倒な事)が
ダイアログシートでは簡単な設定で可能な事が・・・。

【23076】Re:DialogSheetsとEditBoxes(1).Text に...
お礼  YN61  - 05/3/12(土) 10:27 -

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

おはようございます。ありがとうございました。大枠が理解できました。
ダイアログシートは今では殆ど使う事が無いのですね。
残念では有りますが、エディットボックスを作っても、文字を入力してセルに転記(転送するまでにはいたりませんでした。(残念です)

>エディットボックスは、ユーザーフォームのテキストボックスに相当するものでした。

はい。理解できました。

>普通のワークシートでも「コントロールツールボックス」とか「フォーム」という
>名前が付けられたツールバーを表示させる事ができると思います。
>
>このダイアログシートには、「フォーム」ツールバーに格納されている
>コントロールを貼り付けます。
>貼り付け方は、シートにコントロールを設定するのとほぼ同じです。

はい、そのように操作して作成はできました。

>現在のユーザーフォームに比べると細かい設定は出来ないみたいですけど。
>つまり、ユーザーフォームでは可能でもダイアログシートでは出来ない事は
>いくつもあると思います。

そのような感じですね・・・ありがとうございました。
また宜しくご指導の程お願いします。

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