【发布时间】:2018-05-18 10:16:08
【问题描述】:
我正在编写代码以循环遍历 Excel 工作表并将文本(B 列中的)更改为大写/小写,具体取决于同一行 N 列中单元格的值。
宏目的: 从第 2 行开始循环遍历 B 列中的单元格,并将字符串从大写更改为小写,反之亦然,具体取决于 N 列中单元格的值(如果 value = 5,则小写,其他情况下文本应为大写)
到目前为止我得到的代码:
Sub CAPS()
'
' CAPS Macro
'
Dim Rang As Integer
Dim j As Integer
j = 2
For Each N In Source.Range("N2:N10000") ' Do 10000 rows
Rang = Cells(j, 14)
If Rang = 5 Then
Cells(j, 2).Range("A1").Select
ActiveCell.Value = LCase$(ActiveCell.Text)
Else
ActiveCell.Value = UCase$(ActiveCell.Text)
j = j + 1
End If
Next N
End Sub
我有点卡在循环部分,不知道如何修复当前代码中的错误。
提前致谢:)
【问题讨论】:
-
当前代码有哪些错误?一件显而易见的事情是您使用
N和j,它们始终具有相同的值,因此我建议您将所有j替换为N -
还将您的
FOR EACH...重写为FOR N is 2 to 10000