ExcelVBAへの道
|
'スクロールバーを使うには事前にフォームで宣言しておく必要がある。 Initializeイベントはフォームが表示する前に実行されるイベントです。 Private Sub UserForm_Initialize() With ScrollBar1 .Max = 100 .Min = 0 End With End Sub Private Sub ScrollBar1_Change() UserForm1.Label1.Caption = ScrollBar1.Value UserForm1.Label1.Font.Size = ScrollBar1.Value End Sub ----------------------------------------------------------------------------- 'マルチページの切替 Private Sub MultiPage1_Change() Dim i As String i = MultiPage1.SelectedItem.Name If MultiPage1.Value = 0 Then Label1.Caption = i If MultiPage1.Value = 1 Then TextBox1.Value = i If MultiPage1.Value = 2 Then TextBox2.Value = i End Sub -------------------------------------------------------------------------------- 'カレンダーコントロールを使う。 1、シートのデータをダイアログボックスに表示する。 Private Sub UserForm_Initialize() '宣言する。 TextBox3.MultiLine = True TextBox3.EnterKeyBehavior = True Label2.TextAlign = fmTextAlignRight Calendar1.ValueIsNull = True Worksheets("Sheet1").Activate End Sub 'カレンダーをクリックしたらダイアログボックスのテキストボックスにシート1のデータを表示する。 Private Sub Calendar1_Click() Dim myca As Integer Dim i As Integer Dim chek As Boolean myca = Range("A1").CurrentRegion.Rows.Count chek = False For i = 1 To myca If Cells(i, 1) = Calendar1.Value Then TextBox3.ControlSource = "B" & i chek = True Exit For End If Next i If chek = False Then Cells(myca + 1, 1).Value = Calendar1.Value TextBox3.ControlSource = "B" & myca + 1 End If Label2.Caption = Calendar1.Value & "予定" End Sub ------------------------------------------------------------------------------------- 2、カレンダーのデータをシートに入力する。 Private Sub CommandButton2_Click() Dim mydata As String Dim myday As Date mydata = TextBox3.Value myday = Calendar1.Value Worksheets("Sheet1").Range("C1") = mydata Worksheets("Sheet1").Range("D1") = myday End Sub ---------------------------------------------------------------------------------- 変数は、次のいずれかのデータ型、 ブール型 (Boolean)、 バイト型 (Byte)、 整数型 (Integer)、 長整数型 (Long)、 通貨型 (Currency)、 単精度浮動小数点数型 (Single)、 倍精度浮動小数点数型 (Double)、 日付型 (Date)、 文字列型 (String) オブジェクト型 (Object) バリアント型 (Variant) のデータ型が既定として割り当てられます。 ----------------------------------------------------------------------------------- 'セル範囲の取得(このコントロール内をクリック後、シートをドラッグした範囲を取得する。) Private Sub CommandButton3_Click() Dim area As String area = UserForm.RefEdit1.Value Range(area).Interior.ColorIndex = 4 End Sub |