タイトル欄のアドレスは、エクセルファンクラブの該当する頁へのリンク先です。
詳しい事は、こちらのお願いをご覧になってください。
1
コンボボックスで別のシートからセル範囲を選択するには?
2
「リストボックス」と「コンボボックス」の違いは?
3
矢印キーでテキストボックスのカーソルを移動したい
4 Textboxに入力したメルアドを有効にするには?
5 Label.Captionの任意の位置での改行
6
コマンドボタンをクリックしてテキストボックスやセルの内容をクリアするには
7
ツールボックスの、フォームとコントロールツールボックスの違いは?
8
テキストボックスの値によって、コンボボックスに表示されるリストを変えるには
9
テキストボックスを漢字入力モードにするには?
10 コンボボックスのリストに現在開いているbook名全てを表示するには
11 ボタン、コマンドボタンの表示名(Caption)を改行するには
12 コンボボックスにフォーカスが来たら勝手にドロップダウンリストを表示するには
13 コンボボックスのリストを列方向でなく行方向で表示するには?
14 テキストボックスをマウスでクリックした時、入力している文字をすべて範囲選択するには
15 アクティブなファイルの、フォルダ名、ファイル名、シート名をラベルに表示するには
16 TextBoxの番号の部分に変数を入れてまとめて処理するには
17 テキストボックスからセルに入力する際、特定の文字だけ色を変えたい
18 Textbox1に漢字、Textbox2にふりがなを入力し、任意の1つのセルに表示するには?
19 コンボボックスのリストに、全てのシート名を表示するには
20 コンボボックスのリストに、シートの値を表示するには(親・子・孫コンボ)
1 | コンボボックスで別のシートからセル範囲を選択するには? | |||||||||||||||||||||||||||||||||||||||||
ユーザーフォームにコンボボックスを用意し、Sheet1にコマンドボタンを貼り付けます。 表示させたいデータはSheet2のB1:B5にあるものとします。 Private Sub CommandButton1_Click() Load UserForm1 UserForm1.ComboBox1.RowSource = "Sheet2!B1:B5" 'Sheet2のB1〜B5の値を設定 UserForm1.Show End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
2 | 「リストボックス」と「コンボボックス」の違いは? | |||||||||||||||||||||||||||||||||||||||||
Excel97、Excel2000 共通 リストボックスは選択肢の一覧を表示し、その中から 1 つまたは複数の項目を選択するものです。 入力は出来ません。 コンボボックスはリスト ボックス (ListBox) コントロールとテキスト ボックス(TextBox)コントロールの機能を 組み合わせたコントロールです。 このため、テキスト ボックス(TextBox)コントロールのように新しい値を直接入力することも、 リスト ボックス (ListBox) コントロールのように選択肢の一覧から値を選択することもできます。 |
||||||||||||||||||||||||||||||||||||||||||
3 | 矢印キーでテキストボックスのカーソルを移動したい | |||||||||||||||||||||||||||||||||||||||||
上下の矢印キーによる移動は元々可能なので、左右の矢印キーについてだけ。。。 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Select Case KeyCode Case vbKeyRight SendKeys "{TAB}" Case vbKeyLeft SendKeys "+{TAB}" End Select End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
4 | Textboxに入力したメールアドレスを有効にするには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200103/01030350.txt 「Textboxに入力したメルアドを有効にするには?」 【VBAラウンジ】 |
|||||||||||||||||||||||||||||||||||||||||
Private
Sub TextBox1_Change() With UserForm1.TextBox1 ActiveSheet.Hyperlinks.Add _ Anchor:=ActiveCell, _ Address:="MailTo:" & .Text, _ TextToDisplay:=.Text End With End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
5 | Label.Captionの任意の位置での改行 | |||||||||||||||||||||||||||||||||||||||||
改行コードを使います。 UserForm1.Label1.Caption = "ABC" & vbCrLf & "DEF" とすれば"DEF"は改行されて表示されます |
||||||||||||||||||||||||||||||||||||||||||
6 | コマンドボタンをクリックしてテキストボックスやセルの内容をクリアするには | |||||||||||||||||||||||||||||||||||||||||
Private
Sub CommandButton1_Click() With Sheets("Sheet1") .TextBox1.Value = "" .Range("A1:A3") = "" .Range("B1:B3").ClearContents End With End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
7 | ツールボックスの、フォームとコントロールツールボックスの違いは? http://www.keep-on.com/~excelyou/2000lng4/200007/00070214.txt 「フォームのツールボックスとコントロールのツールボックスの使い分けについて教えてください」 【VBAラウンジ】 http://www.keep-on.com/~excelyou/2000lng4/200005/00050226.txt 「コンボボックスのフォントサイズを変更するには?」 【VBAラウンジ】 |
|||||||||||||||||||||||||||||||||||||||||
Excel97、Excel2000 共通 両方の見分け方は、選択できるものならマウスを合わせてみて カーソルが人差し指になったらフォームです。 フォーム コントロールツールボックス という書き方です。 |
||||||||||||||||||||||||||||||||||||||||||
8 | テキストボックスの値によって、コンボボックスに表示されるリストを変えるには | |||||||||||||||||||||||||||||||||||||||||
Sheet1
|
ユーザーフォームのTextBox1に、A列の値を入力した時、
A列に該当する行の、B列以降の値が、ListBox1に表示されます。 |
|||||||||||||||||||||||||||||||||||||||||
Private
Sub TextBox1_Change() Dim N As String, i As Long, j As Integer Dim Lastcol As Integer, LastRow As Long Me.ListBox1.Clear N = TextBox1.Text LastRow = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row '最終行取得 For i = 1 To LastRow If N = Worksheets("sheet1").Cells(i, 1) Then Lastcol = Worksheets("sheet1").Cells(i, Columns.Count).End(xlToLeft).Column 'i行目の最終列取得 For j = 2 To Lastcol Me.ListBox1.AddItem Worksheets("sheet1").Cells(i, j).Value Next End If Next End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
9 | テキストボックスを漢字入力モードにするには? | |||||||||||||||||||||||||||||||||||||||||
TextBox1.IMEMode = fmIMEModeHiragana | ||||||||||||||||||||||||||||||||||||||||||
10 | コンボボックスのリストに現在開いているbook名全てを表示するには | |||||||||||||||||||||||||||||||||||||||||
Private
Sub UserForm_Initialize() Dim objbook As Object For Each objbook In Workbooks ComboBox1.AddItem objbook.Name Next End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
11 | ボタン、コマンドボタンの表示名(Caption)を改行するには http://www.keep-on.com/~excelyou/2000lng4/200012/00120393.txt 「ボタンの表示名(キャプション)を2段にしたい場合は?」 【VBAラウンジ】 |
|||||||||||||||||||||||||||||||||||||||||
Private
Sub UserForm_Initialize() CommandButton1.Caption = "Q&Aラウンジ" & vbCr & "ExcelVBA" End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
Excel97、Excel2000 共通 ボタンに直接書きこんで[Ctrl]キーを押しながら[Enter] |
||||||||||||||||||||||||||||||||||||||||||
12 | コンボボックスにフォーカスが来たら自動的にドロップダウンリストを表示するには | |||||||||||||||||||||||||||||||||||||||||
Private
Sub ComboBox1_Enter() ComboBox1.DropDown End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
13 | コンボボックスのリストを列方向でなく行方向で表示するには? http://www.keep-on.com/~excelyou/2000lng4/200012/00120324.txt 「コンボボックスのリストを列方向でなく行方向で表示するには?」 【VBAラウンジ】 |
|||||||||||||||||||||||||||||||||||||||||
Private
Sub ComboBox1_DropButtonClick() ComboBox1.List = Application.WorksheetFunction.Transpose(Range("a1:e1").Value) End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
14 | テキストボックスをマウスでクリックした時、入力している文字をすべて範囲選択するには | |||||||||||||||||||||||||||||||||||||||||
Private
Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal
Shift As Integer, _ ByVal X As Single, ByVal Y As Single) With Me.TextBox1 .SelStart = 0 .SelLength = Len(.Text) End With End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
15 | アクティブなファイルの、フォルダ名、ファイル名、シート名をラベルに表示するには | |||||||||||||||||||||||||||||||||||||||||
Private
Sub UserForm_Initialize() Dim strBook As String strBook = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) UserForm1.Label1.Caption = Dir(ActiveWorkbook.Path, vbDirectory) UserForm1.Label2.Caption = strBook UserForm1.Label3.Caption = ActiveSheet.Name End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
16 | TextBoxの番号の部分に変数を入れてまとめて処理するには http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200107/01070123.txt 「ユーザーフォーム上のデータをクリアするには?」 【VBAラウンジ】 http://www.keep-on.com/~excelyou/2000lng4/200012/00120076.txt 「UserFormでのオブジェクトの順番?」 【VBAラウンジ】 http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200104/01040165.txt 「テキストボックスの設定について」 【VBAラウンジ】 |
|||||||||||||||||||||||||||||||||||||||||
全てのテキストボックス、コンボボックス、チェックボックスを一気にクリアします。 Private Sub CommandButton1_Click() Dim ctlTarget As Control For Each ctlTarget In Me.Controls Select Case TypeName(ctlTarget) Case "TextBox" ctlTarget.Text = "" Case "ComboBox" ctlTarget.ListIndex = -1 Case "CheckBox" ctlTarget.Value = False End Select Next ctlTarget End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
TextBpx1〜10を、クリアします。 Private Sub CommandButton1_Click() Dim i As Integer For i = 1 To 10 Me.Controls("TextBox" & (i)).Text = "" Next i End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
TextBox2,
5, 7, 9, 12, 16を非表示にします。 Private Sub CommandButton1_Click() Dim i As Integer, j As Integer For i = 1 To 6 j = Choose(i, 2, 5, 7, 9, 12, 16) Me.Controls("TextBox" & j).Visible = False Next End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
17 | テキストボックスからセルに入力する際、特定の文字だけ色を変えたい http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200103/01030447.txt 「文字の色を変えるには」 【VBAラウンジ】 |
|||||||||||||||||||||||||||||||||||||||||
A列最終行の下のセルに、テキストボックスの値を書き込む際、文字列に「にっぽん」があったら、
「にっぽん」だけを赤く、「にほん」があったら「にほん」だけを青くします。 Sub Test色変換() Dim MyR As Range On Error Resume Next MyStr$ = TextBox1.Text Set MyR = Range("A65536").End(xlUp).Offset(1, 0) MyR.Value = MyStr$ For i% = 1 To Len(MyStr$) - 4 Select Case MyR.Characters(i%, 3).Text Case "にっぽ" MyR.Characters(i%, 4).Font.ColorIndex = 3 Case "にほん" MyR.Characters(i%, 3).Font.ColorIndex = 5 End Select Next i% Set MyR = Nothing End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
18 | Textbox1に漢字、Textbox2にふりがなを入力し、任意の1つのセルに表示するには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200104/01040365.txt 「Textbox1に漢字氏名、Textbox2にふりがなを入力し、任意の1つのセルに表示するには?」【VBAラウンジ】 |
|||||||||||||||||||||||||||||||||||||||||
Private Sub
CommandButton1_Click() Cells(1, "A").Value = TextBox1.Text Cells(1, "A").Phonetic.Text = TextBox2.Text End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
19 | コンボボックスに、全てのシート名を表示するには http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200105/01050137.txt 「セルに順番に入力するには」 【VBAラウンジ】 |
|||||||||||||||||||||||||||||||||||||||||
Private Sub
UserForm_Initialize() Dim WS As Worksheet For Each WS In ThisWorkbook.Worksheets '各シートをループします Me.ComboBox1.AddItem WS.Name 'シート名をコンボボックスに追加します Next WS End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |
||||||||||||||||||||||||||||||||||||||||||
20 | コンボボックスのリストに、シートの値を表示するには(親・子・孫コンボ) | |||||||||||||||||||||||||||||||||||||||||
sheet1
|
ユーザーフォームを開いた時、左のようなシートから、 ComB1のドロップダウンリストに、 |
|||||||||||||||||||||||||||||||||||||||||
Dim i As Integer,
WS As Worksheet Private Sub ComB1_Change() Set WS = Worksheets("sheet1") Me.ComB2.Clear For i = 1 To WS.Cells(Rows.Count, 1).End(xlUp).Row If WS.Cells(i, 1) = ComB1.Value Then If WS.Cells(i, 2) <> WS.Cells(i - 1, 2) Then Me.ComB2.AddItem WS.Cells(i, 2).Value End If End If Next End Sub Private Sub ComB2_Change() Set WS = Worksheets("sheet1") Me.ComB3.Clear For i = 1 To WS.Cells(Rows.Count, 2).End(xlUp).Row If WS.Cells(i, 2) = ComB2.Value Then If WS.Cells(i, 3) <> WS.Cells(i - 1, 3) Then Me.ComB3.AddItem WS.Cells(i, 3).Value End If End If Next End Sub Private Sub UserForm_Initialize() Set WS = Worksheets("sheet1") Me.ComB1.Clear For i = 2 To WS.Cells(Rows.Count, 1).End(xlUp).Row If WS.Cells(i, 1) <> WS.Cells(i - 1, 1) Then Me.ComB1.AddItem WS.Cells(i, 1).Value End If Next End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 |