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,这是一个错字...我不认为我可以使用 .find 因为我需要将更改修复为仅 A 列。 – 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 回答