HOMEへ


コントロール======================================================

Option Explicit

' **
' ユーザーフォーム表示
'
Sub ShowUserForm()
    
    UserForm1.Show vbModeless

End Sub

'**
' テキストボックス空欄チェック : 単数
'  @param {tBox : MSForms.TextBox} テキストボックス
'  @return {MdCheckText : Boolean}
Function MdCheckText(tBox As MSForms.TextBox) As Boolean

    With tBox
        If .Value = "" Or IsNull(.Value) Then
            .BackColor = RGB(245, 200, 238)
             MdCheckText = True
             Exit Function
        End If
    End With

    MdCheckText = False

End Function

'**
' テキストボックス空欄チェック 一括
'  @param {myForm : Object} フォーム(Me)
'  @return {MdCheckTexts : boolean}
Function MdCheckTexts(myForm As Object) As Boolean

    With myForm
        Dim Flg As Integer: Flg = 0
        Dim myControl As Control
        For Each myControl In .Controls
            If TypeName(myControl) = "TextBox" Then
                If myControl.Value = "" Or IsNull(myControl.Value) Then
                    myControl.BackColor = RGB(245, 200, 238)
                    Flg = Flg + 1
                End If
            End If
        Next myControl
    End With

    If Flg > 0 Then
        MdCheckTexts = True
    Else
        MdCheckTexts = False
    End If

End Function

'**
' コンボボックス空欄チェック : 単数
'  @param {cBox : MSForms.ComboBox} コンボボックス
'  @return {MdCheckCombox : Boolean}
Function MdCheckCombox(cBox As MSForms.ComboBox) As Boolean

    With cBox
        If .Value = "" Or IsNull(.Value) Then
            .BackColor = RGB(245, 200, 238)
             MdCheckCombox = True
             Exit Function
        End If
    End With

    MdCheckCombox = False

End Function

'**
' コンボボックス空欄チェック : 複数
'  @param {myForm : Object} フォーム(Me)
'  @return {MdCheckComboxs : boolean}
Function MdCheckComboxs(myForm As Object) As Boolean

    With myForm
        Dim Flg As Integer: Flg = 0
        Dim myControl As Control
        
        For Each myControl In .Controls
            If TypeName(myControl) = "ComboBox" Then
                If myControl.Value = "" Or IsNull(myControl.Value) Then
                    myControl.BackColor = RGB(245, 200, 238)
                    Flg = Flg + 1
                End If
            End If
        Next myControl
    End With

    If Flg > 0 Then
        MdCheckComboxs = True
    Else
        MdCheckComboxs = False
    End If

End Function

'**
' テキストボックスハイフン削除
'  @param {tBox : TextBox} テキストボックス
'------------------------------------------------------------------
Public Sub HyphenDelete(tBox As TextBox)

    If Not IsNull(tBox.Value) Or tBox.Value = "" Then
        With tBox
            .Value = Replace(.Value, "ー", "")
            .Value = Replace(.Value, "-", "")
            .Value = Replace(.Value, "-", "")
        End With
    End If

End Sub

'**
' テキストボックススペース削除
'  @param {tBox : TextBox} テキストボックス
'------------------------------------------------------------------
Public Sub SpaceDelete(tBox As TextBox)

    If Not IsNull(tBox.Value) Or tBox.Value = "" Then
        With tBox
            .Value = Replace(.Value, " ", "")
            .Value = Replace(.Value, " ", "")
        End With
    End If

End Sub

Sub file_select_update()
'--------------------------------------------------------------------------
'  設定ファイルコンボボックス
'  初期化 リスト作成
'--------------------------------------------------------------------------
Dim arrayName, arrayNames As Variant
Dim act, ws As Worksheet
Dim Flg, i As Integer

Set act = ActiveSheet
If act.Name = "設定" Then

    act.OLEObjects("ComboBox1").Object.Clear
    act.OLEObjects("ComboBox2").Object.Clear
    arrayNames = Array("ComboBox1", "ComboBox2")

'elseif ws.Name = "〇〇" Then

'    ComboBox3.Clear
'    ComboBox4.Clear
'    ComboBox5.Clear
'    arrayNames = Array("ComboBox3", "ComboBox4",  "ComboBox5")

End If
'Worksheets("設定").ComboBox2.List = Array("売上", "売上原価", "経費", "引当金等の繰戻・繰入", "資産", "負債", "資本に関する勘定科目")
For Each arrayName In arrayNames
    'コンボボックス動的変更
    With act.OLEObjects(arrayName).Object
        Flg = 0
        For Each ws In Worksheets
            If ws.Name = "BaseST" Then
                Flg = 1
            Else
                'BaseSTファイルを通過
                If Flg = 1 Then
                    .AddItem ws.Name
                End If
            End If
        Next
    End With
Next

End Sub