Excel VBA質問箱 IV

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

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


8963 / 13646 ツリー ←次へ | 前へ→

【30006】コントロールボックスについて masa 05/10/18(火) 10:32 質問[未読]
【30043】Re:コントロールボックスについて ichinose 05/10/18(火) 19:09 発言[未読]
【30105】Re:コントロールボックスについて masa 05/10/19(水) 18:20 お礼[未読]

【30006】コントロールボックスについて
質問  masa  - 05/10/18(火) 10:32 -

引用なし
パスワード
   エクセルのシートからボタンをクリックしてUserFormを開きます。UserFormにコンボボックス作りたいと思っています。ボタンをクリックしてUserFormは作ることができたのですがコンボボックスを追加したら動かなくなりました。

module1 には以下のものを書いてあります。
Sub ボタン1_Click()              ’・・・1.

 UserForm1.Show

End Sub
---------------------------------------------------
UserFormのコードは

Option Explicit                ’・・・2.
  Public MyData As Range
  Public MyLcount As Integer
Sub DlgShow()
  UserForm1.ComboBox1.Text = ActiveCell.Value
End Sub
--------------------------------------------------
Private Sub UserForm_Initialize()       '・・・3.
  Sheets("データ").Select
  Set MyData = Range("G2").CurrentArray
End Sub
と書きました。1.だけのときはうまくUserFormが開くのですが2.、3.を付け加えると”該当するセルが見つかりません”というエラーメッセージが出ます。どうやったら作れるのかを教えてもらえませんか。
ちなみに”入力”というシートにボタンを作り”データ”というシートのG2からG5までにリストを作っています。G2からG5を分類という名前をつけました。
私はVBAをはじめてまだ間もないため本片手に試行錯誤やっています。よろしくお願いします。

【30043】Re:コントロールボックスについて
発言  ichinose  - 05/10/18(火) 19:09 -

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

>エクセルのシートからボタンをクリックしてUserFormを開きます。UserFormにコンボボックス作りたいと思っています。ボタンをクリックしてUserFormは作ることができたのですがコンボボックスを追加したら動かなくなりました。

この御質問、以下のご提示されたコードで何をしたいのか 

が 記述されていません。


>
>module1 には以下のものを書いてあります。
>Sub ボタン1_Click()              ’・・・1.
>
> UserForm1.Show
>
>End Sub
>---------------------------------------------------
>UserFormのコードは
>
>Option Explicit                ’・・・2.
>  Public MyData As Range
>  Public MyLcount As Integer
>Sub DlgShow()
>  UserForm1.ComboBox1.Text = ActiveCell.Value
>End Sub
>--------------------------------------------------
>Private Sub UserForm_Initialize()       '・・・3.
>  Sheets("データ").Select
>  Set MyData = Range("G2").CurrentArray
'エラーメッセージの直接の原因は↑これです。
'CurrentArrayプロパティは
'指定されたセルが配列の一部のとき、配列全体を返すプロパティです。
'セルG2が配列の一部でなければ エラーとなります。

>End Sub

>と書きました。1.だけのときはうまくUserFormが開くのですが2.、3.を付け加えると”該当するセルが見つかりません”というエラーメッセージが出ます。どうやったら作れるのかを教えてもらえませんか。
>ちなみに”入力”というシートにボタンを作り”データ”というシートのG2からG5までにリストを作っています。G2からG5を分類という名前をつけました。
>私はVBAをはじめてまだ間もないため本片手に試行錯誤やっています。よろしくお願いします。


はっきりした仕様が記述されていないので 私の想像です。

”データ”というシートのセルG2からG5の範囲を
名前の定義を使って、「分類」という名前を付けたのですね?

ならば、Userformのモジュールを
'=====================================================
Option Explicit                ’・・・2.
Public MyData As Range
Public MyLcount As Integer
'↑これは何に使うかわからないので取り合えず付けときます
'=======================================================
Private Sub UserForm_Initialize()       '・・・3.
  Set MyData = application.Range("分類")
  with ComboBox1
    .list = MyData.value
    .listindex=0
    end with
end sub

として試してみてください。

【30105】Re:コントロールボックスについて
お礼  masa  - 05/10/19(水) 18:20 -

引用なし
パスワード
   ▼ichinose さん:
>Private Sub UserForm_Initialize()       '・・・3.
>  Set MyData = application.Range("分類")
>  with ComboBox1
>    .list = MyData.value
>    .listindex=0
>    end with
>end sub
>
>として試してみてください。
返事が遅くなってすみません。ichinoseさんのコードを参考にさせてもらいます。本片手にやっているため説明不足で申し訳ありません。

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