0

次のことについて助けが必要です。

列 A の数値を検索する次のコードがあります。次に、1 から 6 かどうかを調べます。1 から 6 のいずれかが使用可能な場合は、それを test1...test6 に変換する必要があります。

なんらかの理由で私のコードにランタイム エラーが表示され、オーバーフロー エラーが発生することもあります。誰かがこのエラーで私を助けることができるかどうか疑問に思っていました. 前もって感謝します!

Sub macro()

    Dim rownum As Long, colnum As Long, currcell As Range

    rownum = ActiveCell.Row
    colnum = ActiveCell.Column

    Sheets("Sheet1").Select

    'Converting 1-6 into Test1-Test6
    Do
        Set currcell = ActiveSheet.Cells(rownum, 1)
        If IsNumeric(currcell.Value) Then
            If currcell.Value = 1 Then
                currcell = "test1"
            ElseIf currcell.Value = 2 Then
                currcell = "test2"
            ElseIf currcell.Value = 3 Then
                currcell = "test3"
            ElseIf currcell.Value = 4 Then
                currcell = "test4"
            ElseIf currcell.Value = 5 Then
                currcell = "test5"
            ElseIf currcell.Value = 6 Then
                currcell = "test6"
                Exit Do
            End If
        End If
        rownum = rownum + 1
    Loop

End Sub
4

1 に答える 1

2

@SiddharthRout、DIMに気づきました。タイプミスでした...変更を列Aだけに修正する必要があるため、.findを使用できるとは思いません。 – user1204868 1分前

これはあなたがしようとしていることですか?

Option Explicit

Sub Sample()
    Dim i As Long

    With Sheets("Sheet1").Columns(1) '<~~ Col A
        For i = 1 To 6
            .Replace What:=i, Replacement:="test" & i, LookAt:=xlWhole, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False

            DoEvents
        Next
    End With
End Sub
于 2012-04-24T10:38:06.833 に答える