VBA 循环字母表中的特定字母
VBA Loop for specific letters in alphabet
我想使用 VBA 遍历 excel 中一列的内容。每个单元格中都有一个单词。对于以字母 'P-Z' 开头的单词,我想 return 为“1”,否则为“0”。
例如:
DOG
CAT
PONY
ZEBRA
returns:
0
0
1
1
谢谢
考虑:
Public Function Starter(s As String) As Integer
Starter = 0
If Left(s, 1) Like "[P-Z]" Then Starter = 1
End Function
例如:
编辑
既然我们已经有了 函数,我们可以插入一个 sub 来使用该函数:
Sub MAIN()
Dim i As Long, N As Long
N = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To N
Cells(i, 2).Value = Starter(Cells(i, 1).Value)
Next i
End Sub
VBE 现在看起来像:
另一个解决方案是使用 EXCEL 公式。
在EXCEL中使用简单的IF ELSE
条件就可以实现。
检查以下公式:
=IF(AND(CODE(LEFT(UPPER(TRIM(A1)))) >=80, CODE(LEFT(UPPER(TRIM(A1))))<=90),1,0)
我想使用 VBA 遍历 excel 中一列的内容。每个单元格中都有一个单词。对于以字母 'P-Z' 开头的单词,我想 return 为“1”,否则为“0”。
例如:
DOG
CAT
PONY
ZEBRA
returns:
0
0
1
1
谢谢
考虑:
Public Function Starter(s As String) As Integer
Starter = 0
If Left(s, 1) Like "[P-Z]" Then Starter = 1
End Function
例如:
编辑
既然我们已经有了 函数,我们可以插入一个 sub 来使用该函数:
Sub MAIN()
Dim i As Long, N As Long
N = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To N
Cells(i, 2).Value = Starter(Cells(i, 1).Value)
Next i
End Sub
VBE 现在看起来像:
另一个解决方案是使用 EXCEL 公式。
在EXCEL中使用简单的IF ELSE
条件就可以实现。
检查以下公式:
=IF(AND(CODE(LEFT(UPPER(TRIM(A1)))) >=80, CODE(LEFT(UPPER(TRIM(A1))))<=90),1,0)