マクロは無限のループで実行されています

Josh Ng

現在、以下のスクリーンショットに示すような結果を達成したいと考えている一連のコードがあります。どういうわけか、それは無限のループで実行されます。どうすればそれを機能させることができるか考えていますか?

初期入力:

ここに画像の説明を入力してください

これに:

ここに画像の説明を入力してください

Sub SplitAllCells()

    Dim rng1 As Range
    Dim Cla As Range
    Dim rng2 As Range
    Dim Clb As Range

    Set rng1 = Range("D2:D100")
    Set rng2 = Range("E2:E100")

    For Each Cla In rng1
            If Not IsEmpty(ActiveCell.Value) Then
                Call SplitCellValueSpecial
            End If
        Next

    For Each Clb In rng2
            If Not IsEmpty(ActiveCell.Value) Then
                Call SplitCellValueNormal
            End If
        Next


Sub SplitCellValueSpecial():

        Dim str As String
        Dim ArrStr() As String
        Dim i As Long
        Dim y As Long
        Dim RowsAdded As Boolean

        RowsAdded = False
        'Fill variables: str is the value of the active cell, ArrStr splits this value at the comma
        str = ActiveCell.Value
        ArrStr = Split(str, "~ ")

        'Loop through each ArrStr to populate each cell below the activecell

        For i = 0 To UBound(ArrStr)
            ActiveCell.Offset(i, 0).Value = ArrStr(i)
            If RowsAdded = False Then
                For y = 1 To UBound(ArrStr)
                    ActiveCell.Offset(1, 0).EntireRow.Insert xlDown
                Next y
                RowsAdded = True
            End If
        Next i


    End Sub

Sub SplitCellValueNormal():



    Dim str As String
    Dim ArrStr() As String

    'Fill variables: str is the value of the active cell, ArrStr splits this value at the comma
    str = ActiveCell.Value
    ArrStr = Split(str, "~ ")

    'Loop through each ArrStr to populate each cell below the activecell

    For i = 0 To UBound(ArrStr)
        ActiveCell.Offset(i, 0).Value = ArrStr(i)
    Next i


End Sub
ティムウィリアムズ

あなたはこのようなことをすることができます:

Sub main()
    SplitCells Range("D2:D100")
    SplitCells Range("E2:E100")
End Sub

Sub SplitCells(rng As Range)
    Dim i, x, arr, arrV, v, el, c As Range

    arrV = rng.Value   'get the original values
    rng.ClearContents  'remove the content

    'loop over each value
    For i = 1 To UBound(arrV, 1)
        v = arrV(i, 1)
        If Len(v) > 0 Then
            arr = Split(v, "~") 'get an array
            For Each el In arr
                rng(1).Offset(x, 0).Value = el
                x = x + 1
            Next el
        Else
            x = x + 1
        End If
    Next i

End Sub

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

onChange関数は無限ループで実行されています

分類Dev

反応プロジェクトの無限ループで実行されているwebpackスクリプト

分類Dev

useEffectフックは、2番目の引数が指定されている場合でも無限ループを実行しています

分類Dev

このループは無限に実行されますか?

分類Dev

なぜこのループはcで無限に実行されているのですか?

分類Dev

プロデューサーは単一のメインスレッドであり、無限ループで実行されているn個のコンシューマーがすべてブロッキングキューで動作しています。シャットダウンする方法

分類Dev

無限ループを実行しているマクロ

分類Dev

whileループは無限に実行されます。タイマーを使用してwhileループを終了することはできません

分類Dev

tensorflowカスタムループは最初のエポックで終了せず、プログレスバーが無限に実行されます

分類Dev

無限ループで実行されているSpring Batch Job

分類Dev

このプログラムが無限ループで実行されるのはなぜですか?相互排除

分類Dev

Tkinterで無限ループが実行されているときに閉じる(X)またはその他のボタンを使用する方法

分類Dev

postgreSQLクエリが無限ループで実行されているようです

分類Dev

無限ループでsystem()関数を介して実行された子プロセスの強制終了がperlで機能していません

分類Dev

無限ループが見つかりませんが、無限ループで実行されていますか?

分類Dev

プログラムが無限ループを実行しているのはなぜですか?Python

分類Dev

Muleロールバック例外戦略のmaxRedeliveryAttemptsは無限に実行されます

分類Dev

ファイルのアップロードは、関連する無限に実行されているスクリプトに影響を与えたり、壊れたりしますか?

分類Dev

ReactフックのuseEffectは継続的に永久に実行されます/無限ループ

分類Dev

関数が無限ループを実行しています。他の関数は使用できません

分類Dev

どのように私は無限に実行されているから、whileループを停止していますか?

分類Dev

メインスレッドから実行されているasyncioイベントループで無限ループを実行します

分類Dev

制限を超えても、ループは実行されたままです

分類Dev

Windows 8のタスクマネージャーにリストされているプロセスが管理者権限で実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

タイマーはローカルではスムーズに実行されていますが、サーバーでは実行されていません:(

分類Dev

すでに入力されているdivの無限スクロール

分類Dev

単純な問題、無限ループでブロックされています

分類Dev

無限に実行されているSpringブートアプリケーション(無限ループ)のJarファイルを生成するにはどうすればよいですか?

分類Dev

無限に実行されているJqueryループ

Related 関連記事

  1. 1

    onChange関数は無限ループで実行されています

  2. 2

    反応プロジェクトの無限ループで実行されているwebpackスクリプト

  3. 3

    useEffectフックは、2番目の引数が指定されている場合でも無限ループを実行しています

  4. 4

    このループは無限に実行されますか?

  5. 5

    なぜこのループはcで無限に実行されているのですか?

  6. 6

    プロデューサーは単一のメインスレッドであり、無限ループで実行されているn個のコンシューマーがすべてブロッキングキューで動作しています。シャットダウンする方法

  7. 7

    無限ループを実行しているマクロ

  8. 8

    whileループは無限に実行されます。タイマーを使用してwhileループを終了することはできません

  9. 9

    tensorflowカスタムループは最初のエポックで終了せず、プログレスバーが無限に実行されます

  10. 10

    無限ループで実行されているSpring Batch Job

  11. 11

    このプログラムが無限ループで実行されるのはなぜですか?相互排除

  12. 12

    Tkinterで無限ループが実行されているときに閉じる(X)またはその他のボタンを使用する方法

  13. 13

    postgreSQLクエリが無限ループで実行されているようです

  14. 14

    無限ループでsystem()関数を介して実行された子プロセスの強制終了がperlで機能していません

  15. 15

    無限ループが見つかりませんが、無限ループで実行されていますか?

  16. 16

    プログラムが無限ループを実行しているのはなぜですか?Python

  17. 17

    Muleロールバック例外戦略のmaxRedeliveryAttemptsは無限に実行されます

  18. 18

    ファイルのアップロードは、関連する無限に実行されているスクリプトに影響を与えたり、壊れたりしますか?

  19. 19

    ReactフックのuseEffectは継続的に永久に実行されます/無限ループ

  20. 20

    関数が無限ループを実行しています。他の関数は使用できません

  21. 21

    どのように私は無限に実行されているから、whileループを停止していますか?

  22. 22

    メインスレッドから実行されているasyncioイベントループで無限ループを実行します

  23. 23

    制限を超えても、ループは実行されたままです

  24. 24

    Windows 8のタスクマネージャーにリストされているプロセスが管理者権限で実行されているかどうかを確認するにはどうすればよいですか?

  25. 25

    タイマーはローカルではスムーズに実行されていますが、サーバーでは実行されていません:(

  26. 26

    すでに入力されているdivの無限スクロール

  27. 27

    単純な問題、無限ループでブロックされています

  28. 28

    無限に実行されているSpringブートアプリケーション(無限ループ)のJarファイルを生成するにはどうすればよいですか?

  29. 29

    無限に実行されているJqueryループ

ホットタグ

アーカイブ