ホームページ  >  記事  >  ソフトウェアチュートリアル  >  Excel で角を丸めた詳細なマクロを作成して数値を大文字に変換する

Excel で角を丸めた詳細なマクロを作成して数値を大文字に変換する

WBOY
WBOY転載
2024-01-22 11:24:23489ブラウズ

1. Excel で数値を大文字や角丸に変換するにはどうすればよいですか?

Excel の数値を角の丸い大文字に変換する場合は、次の手順に従って行うことができます:

  1. 1. データの準備: Excel で変換する必要がある数値を入力します。

  2. 2. VBA エディタを開きます: Alt F11 を押して VBA エディタを開きます。

  3. 3. 新しいモジュールの挿入: VBA エディターで、左側のプロジェクト ブラウザーの任意の項目を右クリックし、[挿入] > [] を選択します。 Module 」をクリックして、新しい VBA モジュールを挿入します。

  4. 4. マクロ コードの作成: 新しいモジュールに VBA コードを作成します (例:

    Function ConvertToWordsWithCents(ByVal MyNumber)
        Dim Temp
        Dim DecimalPlace, Count
        ReDim Place(9) As String
        Place(2) = " Thousand "
        Place(3) = " Million "
        Place(4) = " Billion "
        Place(5) = " Trillion "
    
        ' Convert MyNumber to STRING
        MyNumber = Trim(CStr(MyNumber))
    
        ' If MyNumber is blank then we're done
        If MyNumber = "" Then Exit Function
    
        ' If MyNumber is 0 then we're done
        If Val(MyNumber) = 0 Then Exit Function
    
        ' Convert MyNumber to hopper
        DecimalPlace = InStr(MyNumber, ".")
        If DecimalPlace > 0 Then
            Temp = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
            MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
        End If
    
        Count = 1
        Do While MyNumber <> ""
            Temp = GetHundreds(Right(MyNumber, 3))
            If Temp <> "" Then OutF = Temp & Place(Count) & OutF
            If Len(MyNumber) > 3 Then
                MyNumber = Left(MyNumber, Len(MyNumber) - 3)
            Else
                MyNumber = ""
            End If
            Count = Count + 1
        Loop
    
        Select Case DecimalPlace
            Case 0
                ConvNumToWordsWithCents = " Dollar " & OutF & "Only"
            Case 1
                ConvNumToWordsWithCents = " Dollar " & OutF & "and " & GetTens(Left(Mid(MyNumber & "00", 2), 2)) & " Cents Only"
            Case 2
                ConvNumToWordsWithCents = " Dollar " & OutF & GetTens(Left(Mid(MyNumber & "00", 2), 2)) & " Cents Only"
        End Select
    End Function
    
    &#39; Converts a number from 100-999 into text
    Function GetHundreds(ByVal MyNumber)
        Dim Result As String
        If Val(MyNumber) = 0 Then Exit Function
        MyNumber = Right("000" & MyNumber, 3)
        &#39; Convert the hundreds place.
        If Mid(MyNumber, 1, 1) <> "0" Then
            Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
        End If
        &#39; Convert the tens and ones place.
        If Mid(MyNumber, 2, 1) <> "0" Then
            Result = Result & GetTens(Mid(MyNumber, 2))
        Else
            Result = Result & GetDigit(Mid(MyNumber, 3))
        End If
        GetHundreds = Result
    End Function
    
    &#39; Converts a number from 10 to 99 into text.
    Function GetTens(TensText)
        Dim Result As String
        Result = ""           &#39; Null out the temporary function value.
        If Val(Left(TensText, 1)) = 1 Then   &#39; If value between 10-19...
            Select Case Val(TensText)
                Case 10: Result = "Ten"
                Case 11: Result = "Eleven"
                Case 12: Result = "Twelve"
                Case 13: Result = "Thirteen"
                Case 14: Result = "Fourteen"
                Case 15: Result = "Fifteen"
                Case 16: Result = "Sixteen"
                Case 17: Result = "Seventeen"
                Case 18: Result = "Eighteen"
                Case 19: Result = "Nineteen"
                Case Else
            End Select
        Else                                 &#39; If value between 20-99...
            Select Case Val(Left(TensText, 1))
                Case 2: Result = "Twenty "
                Case 3: Result = "Thirty "
                Case 4: Result = "Forty "
                Case 5: Result = "Fifty "
                Case 6: Result = "Sixty "
                Case 7: Result = "Seventy "
                Case 8: Result = "Eighty "
                Case 9: Result = "Ninety "
                Case Else
            End Select
            Result = Result & GetDigit _
                (Right(TensText, 1))   &#39; Retrieve ones place.
        End If
        GetTens = Result
    End Function
    
    &#39; Converts a number from 1 to 9 into text.
    Function GetDigit(Digit)
        Select Case Val(Digit)
            Case 1: GetDigit = "One"
            Case 2: GetDigit = "Two"
            Case 3: GetDigit = "Three"
            Case 4: GetDigit = "Four"
            Case 5: GetDigit = "Five"
            Case 6: GetDigit = "Six"
            Case 7: GetDigit = "Seven"
            Case 8: GetDigit = "Eight"
            Case 9: GetDigit = "Nine"
            Case Else: GetDigit = ""
        End Select
    End Function
  5. ##5)。

    VBA エディタを閉じます: VBA エディタを閉じて、Excel に戻ります。

  6. 6.

    カスタム関数を使用する: Excel でカスタム関数を使用する ConvertToWordsWithCents (例:

    =ConvertToWordsWithCents(A1)

    #)
  7. ##上記のコードは、数値を角の丸い大文字形式に変換します。

2. Excel マクロの作り方を教えてください。

次の手順に従って Excel マクロを作成できます:

    1.
  1. Excel を開く:

    マクロを含むブックを開きます。作成したいもの。

  2. 2.
  3. VBA エディタを開きます:

    Alt F11 を押して VBA エディタを開きます。

  4. 3.
  5. 新しいモジュールの挿入:

    VBA エディターで、左側のプロジェクト ブラウザーの任意の項目を右クリックし、[挿入] > [] を選択します。 Module 」をクリックして、新しい VBA モジュールを挿入します。

  6. 4.
  7. マクロ コードの作成:

    新しいモジュールに VBA コードを作成します。これには、セルの操作、データ処理、グラフの生成などが含まれます。

    Sub MyMacro()
        &#39; Your VBA code here
        Range("A1").Value = "Hello, World!"
    End Sub

  8. 5.
  9. マクロの保存:

    VBA エディターで、[ファイル] > [名前を付けて保存] をクリックし、ファイルの種類を [Excel マクロ有効作業] として選択します。予約(*.xlsm)」を選択して保存します。

  10. 6.
  11. マクロの実行:

    Excel で、Alt F8 を押してマクロ ダイアログ ボックスを開き、マクロを選択して [実行] をクリックします。 」。

概要:

数字を角の丸い大文字に変換するには、VBA を使用してカスタム関数を作成し、Excel で呼び出すことができます。 Excel マクロを作成する手順には、VBA エディターを開く、新しいモジュールの挿入、マクロ コードの作成、マクロの保存、マクロの実行が含まれます。これにより、カスタム機能と自動化が可能になります。

以上がExcel で角を丸めた詳細なマクロを作成して数値を大文字に変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。