すぐに役立つエクセルVBAマクロ集 - すぐマク
すぐに役立つ Excel VBA マクロ集 Excel VBA Macro
Macro
Google
 
Home |  What's New! |  Gallery |  Introduction |  Service |  Profile

500連発・組み方講座フォロー

Big Color Pallet

[広告]
 
Excel VBA Macro
Excel DownLoad
© 1997 - 2007
Yoshioh Nagai.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Sample Macro  コントロール・テキストボックス Previous Next
コントロール 0.  ユーザーフォーム
1.  ラベル
2-1.エディットボックス
2-2.テキストボックス
3.  コンボボックス
4-1.リストボックス(ワークシート)
4-2.リストボックス
7.  トグルボタン
9.  コマンドボタン
11. マルチページ
13. スピンボタン
17. カレンダー
 2-2-1) DBシートへ直接入力
 2-2-2) 初期表示
 2-2-3) サイズ自動調整
 2-2-4) 通貨表示
 2-2-5) プレースホルダ文字表示
 2-2-6) 入力値が数字か調べる


2-2-1) テキストボックスでDBシートへ直接入力 もくじへ 使用可能なExcelのバージョン
'=========================================================================================
' ◆標準モジュールのコード◆
'-----------------------------------------------------------------------------------------
Sub テキストボックスでDBへ入力する()
    Worksheets("DB").Activate                   '※1 住所録データベース用のシート
        下 = Range("A1").End(xlDown).Row        '※2 下端検出
        Cells(下 + 1, 1).Select                 '下端の下の行を選択
        UserForm1.Show                          'ユーザーフォーム(テキストボックス)を映す
End Sub
'=========================================================================================
' ◆ユーザーフォームのコード◆
'-----------------------------------------------------------------------------------------
'「OK」ボタンが押されたときに動作するイベントマクロ
'-----------------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
    行 = ActiveCell.Row                          'アクティブセルの行番号を取得する
    列 = ActiveCell.Column                       '    〃   列   〃
    Cells(行, 列) = UserForm1.TextBox1.Value     '氏名をA列のセルへ
    Cells(行, 列 + 1) = UserForm1.TextBox2.Value '郵便番号をB列のセルへ
    Cells(行, 列 + 2) = UserForm1.TextBox3.Value '住所をC列のセルへ
    UserForm1.TextBox1.SetFocus                  'フォーカスを定位置へ
    Cells(行 + 1, 列).Select                     '次のセルを選択する
End Sub
'-----------------------------------------------------------------------------------------
'「終了」ボタンが押されたときに動作するイベントマクロ
'-----------------------------------------------------------------------------------------
Private Sub CommandButton2_Click()
    Unload Me                           	'ユーザーフォームを閉じる
End Sub
'=========================================================================================
<コメント>
※1 "DB"にはシート名を記入
※2 "A1"にはデータを入力するセル範囲の左上角のセル番号を記入する
※3 テキストボックスは、ユーザーフォームに作成する (Excel95ではエディットボックスとして
   ダイアログシートに)

【ユーザーフォームのテキストボックス】            【DBシート】
テキストボックス    DBシート 
氏名のテキストボックス…TextBox1、郵便番号…TextBox2、住所…TextBox3

サンプルブックのダウンロードは ここをクリック (YNxv232_textbox.xls 40KB)
※ 一旦、ブックをハードディスクに保存し、開き直してから実行してください。


2-2-2) テキストボックスへ初期表示する もくじへ 使用可能なExcelのバージョン
'=========================================================================================
' ◆ユーザーフォームのコード◆
'-----------------------------------------------------------------------------------------
Private Sub UserForm_Initialize()  'ユーザーフォームが表示されたとき動作するイベントマクロ
    TextBox1.Text = "テキストボックスに初期表示しました"
End Sub
'=========================================================================================
サンプルブックは次の 2-2-3のマクロからダウンロードできます。


2-2-3) テキストボックスのサイズを自動調整する もくじへ 使用可能なExcelのバージョン
'=========================================================================================
' ◆ユーザーフォームのコード◆
'-----------------------------------------------------------------------------------------
Private Sub UserForm_Initialize() 'ユーザーフォームが表示されたとき動作するイベントマクロ
    TextBox1.AutoSize = True                    'サイズを自動的に調整する
End Sub
'=========================================================================================
サンプルブックのダウンロードは ここをクリック (YNxv2322_TextBox.xls 34KB)
※ 一旦、ブックをハードディスクに保存し、開き直してから実行してください。


2-2-4) テキストボックスの値を通貨表示する もくじへ 使用可能なExcelのバージョン
'=========================================================================================
' ◆ユーザーフォームのコード◆
'-----------------------------------------------------------------------------------------
Private Sub TextBox1_Change() 'ユーザーフォームの値が変わったときに動作するイベントマクロ
    If IsNumeric(TextBox1.Value) Then           'テキストボックスの値が数値なら
        TextBox1.Text = Format(TextBox1.Value, "\\#,##0") '通貨表示にする
    Else
        Beep
        TextBox1.Text = ""                      'クリアする
    End If
End Sub
'=========================================================================================


2-2-5) テキストボックスの値をプレースホルダ文字で表示する もくじへ 使用可能なExcelのバージョン
'=========================================================================================
' ◆ユーザーフォームのコード◆
'-----------------------------------------------------------------------------------------
Private Sub UserForm_Initialize()
    TextBox1.PasswordChar = "*"                 '※1
End Sub
'=========================================================================================
<コメント>
※1 "*"には入力された文字の代わりに表示する文字を記入
   (パスワードやセキュリティコードなどの機密にかかわる情報を保護するときに使う)



2-2-6) テキストボックスの入力値が数字か調べる もくじへ 使用可能なExcelのバージョン
'=========================================================================================
' ◆ユーザーフォームのコード◆
'-----------------------------------------------------------------------------------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then '押されたキーの文字コードが
        MsgBox "数字が入力されました。"
    End If
End Sub
'=========================================================================================