[![之前电子表格的图像1] [![我希望结果是] 2] 2
我正在尝试根据列AC的扩展名在N列中设置某些页面的方法。例如,在AC列中具有“ EOC”的任何扩展名都应在N列中显示“ EOC”。要添加到此,我需要在AC列中具有OBC +一个数字的任何spreaname在N列中以OB#显示(数)。
到目前为止,我拥有的代码显然会更改指定的单元格,但不会更改整个列。我以为可以通过简单的借用来解决问题,但是那行不通,然后我考虑做一个循环,但是考虑到行数,我担心处理时间太长。所以我想知道是否有更好的方法来做到这一点。在正确方向上的任何帮助将不胜感激。
Sub Pages()
'Set Pages based on Spreadname
Dim lrow As Long
Dim sCellVal As String
lrow = Cells(Rows.Count, "N").End(xlUp).Row
sCellVal = Range("AC2").Value
If sCellVal Like "*EOC*" Then
Range("N2").Value = "EOC"
End If
End Sub
答案 0 :(得分:1)
这将使您的逻辑从第二行开始遍历整个列(假设您有标题行)
Option Explicit
Sub Pages()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1") '<-- Update!!
Dim LR As Long, i As Long
LR = ws.Range("AC" & ws.Rows.Count).End(xlUp).Row
For i = 2 To LR
If ws.Range("AC" & i) Like "*EOC*" Then
ws.Range("N" & i) = "EOC"
ElseIf Left(ws.Range("AC" & i), 3) = "OBC" Then
ws.Range("N" & i) = "OB" & Right(ws.Range("AC" & i), 1)
End If
Next i
End Sub