HOME 検索 索引 もくじ 関数目次 前ページへ 次ページへ
タイトル欄のアドレスは、エクセルファンクラブの該当する頁へのリンク先です。
詳しい事は、こちらのお願いをご覧になってください。
21 シートにコンボボックスを貼り付けて設定するには
22 シートに貼り付けたコンボボックスを、任意のセルを選択した時だけ表示させるには
23 テキストボックスの値によって、リストボックスのリストを変更するには
24 リストボックスに、指定のセル範囲の値を逆順で表示するには?
25 シートに配置したリストボックスから他のシートの項目を選択し、該当するデータを表示するには?
26 文字サイズ・リストの大きさを自由に設定できるコンボボックスを、入力規則のリストのように使用するには
27 コントロールのExitイベントで、条件によってフォーカスを移動させないためには?
28 コンボボックスで選択した値によって、リストボックスの項目リストの表示を変更するには?
29 シート上のコマンドボタンを押した時、ホームページを表示するには?
30 ユーザーフォームで押したコマンドボタンごとに、処理を変えるには?
31 ユーザーフォームのリストボックスをクリックした時、アクティブなセルにその値を入力したい
32 テキストボックスの幅より多い文字を折り返すには?
33 リストボックスのリストに、シート内の2列以上の値を表示するには?
34
35
36
37
38
39
40
21 | シートにコンボボックスを貼り付けて設定するには | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. あらかじめ、表示したい内容をシート内に入力しておきます。 2. 入力したリストの範囲を選択して、[挿入]-[名前]-[定義]で名前を付けます。 3. ツール、ユーザー設定、ツールバーのタグで、コントロールツールボックスにチェックを入れて ツールボックスを表示してください。 4. その中のコンボボックスをクリックし、シート状の任意の場所でドラッグして配置します。 その際、大きさも調整してくださいね。 5. 次に、コンボボックスを右クリック、プロパティ LinkedCell に、コンボボックスで選択した内容を転記したい場所を指定します。(例 B1) 6. LestFillRange に、2番で付けた名前を入力します。 7. ×ボタンでプロパティを閉じ、コントロールツールボックスの左上にある 三角定規のアイコンをクリックして、編集状態を終わります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
22 | シートに貼り付けたコンボボックスを、任意のセルを選択した時だけ表示させるには | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A1セルを選択したときだけ、コンボボックスを表示します。 Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Row = 1 And Target.Column = 1 Then ComboBox1.Visible = True Else ComboBox1.Visible = False End If End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
23 | テキストボックスの値によって、リストボックスのリストを変更するには | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sheet1に、このように入力しておきます。
A B C D 1 1 みかん りんご ぶどう 2 2 なし くり もも 3 3 すいか めろん さくらんぼ 4 4 バナナ あけび びわ 5 ユーザーフォームのTextBox1に、1〜4の数値を入力した時、 A列の該当する行の、B列以降の値が、ListBox1に表示されます。 Private Sub TextBox1_Change() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
24 | リストボックスに、指定のセル範囲の値を逆順で表示するには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200205/02050242.txt 「リストボックスに逆順表示させるには?」 【VBAラウンジ】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Private Sub
UserForm_Initialize() Dim i As Long, j As Long Dim vntBuf As Variant, myList As Variant vntBuf = Worksheets("Sheet1").Range("A1:A5").Value ReDim myList(LBound(vntBuf) To UBound(vntBuf)) j = LBound(vntBuf) For i = UBound(vntBuf) To LBound(vntBuf) Step -1 myList(j) = vntBuf(i, 1) j = j + 1 Next i Me.ListBox1.List = myList Me.ListBox1.ListIndex = 0 Me.ListBox1.ListIndex = -1 End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25 | シートに配置したリストボックスから他のシートの項目を選択し、該当するデータを表示するには? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. sheet2を表示し、【ツール】【ユーザー設定】【ツールバー】で |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
26 | 文字サイズ・リストの大きさを自由に設定できるコンボボックスを、入力規則のリストのように使用するには | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[コントロールツールボックス]
の [コンボボックス]
を、入力規則のリストのように使用します。 [コンボボックス] なら、文字サイズ、リストの大きさ等、自由自在です。 【使い方】 1. 新規のシートを表示し、最初の「コンボボックス作成」のコードを、マクロの使い方(1)標準モジュールの方法で実行します 2. マクロの使い方(2)該当するシートのモジュールの方法で、後半のコードを書き込みます。 【仕様】 C列のセルを選択すると選択したセルの下にコンボボックスが表示され、作成したリストが設定されています。 他の列を選択するとコンボボックスは非表示になります。 コンボボックスの中の項目を選択すると、選択中のセルに項目が入力されます。 Sub コンボボックス作成() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
27 | コントロールのExitイベントで、条件によってフォーカスを移動させないためには? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Exitイベントの場合、TextBox1.SetFocus としても次のコントロールにフォーカスが移ってしまいます。 TextBox1.SetFocus は必要なく、Cancel = True と入れるとフォーカスは現在のコントロールに残ります。 Private Sub TextBox1_Exit(ByVal Cancel As
MSForms.ReturnBoolean) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
28 | コンボボックスで選択した値によって、リストボックスの項目リストの表示を変更するには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200207/02070527.txt 「コンボボックスとリストボックスを連携させるには?」 【VBAラウンジ】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
※ユーザーフォームに、コンボボックス、リストボックスを作成してください。 ※Sheet1に以下のようなリストを用意します。 A B C 1 G1 G2 G3 2 あ ああ a 3 い いい b 4 う うう c Private Sub
UserForm_Initialize() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
29 | シート上のコマンドボタンを押した時、ホームページを表示するには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200207/02070085.txt 「コマンドボタンにハイパーリンクを貼り付けるには」 【VBAラウンジ】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. シートに、コントロールツールボックスのコマンドボタンを配置します。 2. デザインモードの状態でコマンドボタンを選択し【挿入】【ハイパーリンク】でサイトのアドレスを入力します。 3. 次にコマンドボタンを右クリック【コードの表示】でシートのモジュールにこちらのコードを書き込みます。 Private Sub CommandButton1_Click() Me.Shapes("CommandButton1").Hyperlink.Follow End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
30 | ユーザーフォームで押したコマンドボタンごとに、処理を変えるには? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ユーザーフォーム上にコマンドボタンを二つ配置し、マクロ「test」を処理します。 '全てのコードをユーザーフォームのモジュールに書いた場合 Dim i As String Private Sub CommandButton1_Click() i = Me.ActiveControl.Name Call test End Sub Private Sub CommandButton2_Click() i = Me.ActiveControl.Name Call test End Sub Sub test() If i = "CommandButton1" Then MsgBox i & " が押されました。処理を開始します。" ElseIf i = "CommandButton2" Then MsgBox i & " が押されました。終了します。" End If End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ユーザーフォーム上にコマンドボタンを二つ配置し、マクロ「test」を処理します。 'マクロ「test」を標準モジュールに書いた場合、引数を渡します Dim i As String Private Sub CommandButton1_Click() i = Me.ActiveControl.Name test i End Sub Private Sub CommandButton2_Click() i = Me.ActiveControl.Name test i End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 Sub test(ByVal i As String) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31 | ユーザーフォームのリストボックスをクリックした時、アクティブなセルにその値を入力したい | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Private
Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift
As Integer, ByVal X As Single, ByVal Y As Single) ActiveCell.Value = ListBox1.Value End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
32 | テキストボックスの幅より多い文字を折り返すには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200212/02120198.txt 「テキストボックスの文字を折り返すには?」 【VBAラウンジ】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Textboxのプロパティで、 Multiline を True Wordwrap を True に設定します。 コードで書く場合こんな感じで。 Private Sub UserForm_Activate() Me.TextBox1.MultiLine = True Me.TextBox1.Wordwrap = True End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33 | リストボックスのリストに、シート内の2列以上の値を表示するには? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Private Sub
UserForm_Initialize() With Worksheets("data_一般") ListBox1.Clear ListBox1.ColumnCount = 4 'リストボックスの列は4列にする For i = 2 To .Cells(Application.Rows.Count, "A").End(xlUp).Row ListBox1.AddItem .Cells(i, 1).Value 'シートのA列の値を、リストの一番左の列に ListBox1.List(i - 2, 1) = .Cells(i, 2).Value '同じくB列の値を、リストの二番目の列に ListBox1.List(i - 2, 2) = .Cells(i, 3).Value '同じくC列の値を、リストの三番目の列に ListBox1.List(i - 2, 3) = .Cells(i, 4).Value '同じくD列の値を、リストの四番目の列に Next End With End Sub |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
34 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
35 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||