Excel vba-如何在单元格中查找数字8并计算它是否';这是正确的
到目前为止,已获得此vba:Excel vba-如何在单元格中查找数字8并计算它是否';这是正确的,excel,vba,Excel,Vba,到目前为止,已获得此vba: For Each cell In Range("A2", Range("A" & Rows.Count).End(xlUp)) If Len(cell.Value) = 11 Then cell.Copy Destination:=Range("B" & Rows.Count).End(xlUp).Offset(1, 0) End If Next cell 我需要在第二行的“11”后面添加一些代码,但我不知道如何编写它。我想做的是添加一些类似“的内
For Each cell In Range("A2", Range("A" & Rows.Count).End(xlUp))
If Len(cell.Value) = 11 Then
cell.Copy Destination:=Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
End If
Next cell
我需要在第二行的“11”后面添加一些代码,但我不知道如何编写它。我想做的是添加一些类似“的内容,数字8(11)是1、3、5、7或9,然后
”。
有人能帮我吗 我无法理解您的解释,但根据您的标题,您需要检查第8个字符是否为字符串(来自单元格等)是否为“正确的一个”: 下面是一个正在使用的示例:
Sub Digit8()
Range("A1") = "ABCDEFGHIJKLM"
Const testRightOne = "H"
If Check8thCharacter(Range("A1"), testRightOne) Then
MsgBox "It's the right one!"
Else
MsgBox "It's the wrong one."
End If
End Sub
再看看你的问题,我想知道你是否真的在试图确定单元格的第八个字符是否为奇数,这只是一个微小的变化:
Function Is8thOdd(rg As Range) As Boolean
On Error Resume Next 'error will also return false
Is8thOdd = (Mid(rg, 8, 1) / 2 <> Mid(rg, 8, 1) \ 2)
End Function
我无法理解您的解释,但根据您的标题,您需要检查第8个字符是否为字符串(来自单元格等)是否为“正确的一个”: 下面是一个正在使用的示例:
Sub Digit8()
Range("A1") = "ABCDEFGHIJKLM"
Const testRightOne = "H"
If Check8thCharacter(Range("A1"), testRightOne) Then
MsgBox "It's the right one!"
Else
MsgBox "It's the wrong one."
End If
End Sub
再看看你的问题,我想知道你是否真的在试图确定单元格的第八个字符是否为奇数,这只是一个微小的变化:
Function Is8thOdd(rg As Range) As Boolean
On Error Resume Next 'error will also return false
Is8thOdd = (Mid(rg, 8, 1) / 2 <> Mid(rg, 8, 1) \ 2)
End Function
试试这个
For Each cell In Range("A2", Range("A" & Rows.Count).End(xlUp))
If Len(cell.Value) = 11 Then
Select Case Mid(cell.Value, 8, 1)
Case 1, 3, 5, 7, 9
cell.Copy Destination:=Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
End Select
End If
Next cell
试试这个
For Each cell In Range("A2", Range("A" & Rows.Count).End(xlUp))
If Len(cell.Value) = 11 Then
Select Case Mid(cell.Value, 8, 1)
Case 1, 3, 5, 7, 9
cell.Copy Destination:=Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
End Select
End If
Next cell
如果我被误解了,我很抱歉。英语不是我的母语…:-)列A中的所有单元格都包含数字,我想从A复制到B中正好包含11个字符的单元格,但只有当字符数8(从左开始计数)为“1”或“3”或“5”或“7”或“9”时,才可以。您实际上不需要
Is8thOdd
函数<代码>如果中间(范围(“A1”)、8、1)Mod 2,则将执行此操作。如果第8位没有数字,就必须处理类型不匹配的问题。如果可能被误解,我很抱歉。英语不是我的母语…:-)列A中的所有单元格都包含数字,我想从A复制到B中正好包含11个字符的单元格,但只有当字符数8(从左开始计数)为“1”或“3”或“5”或“7”或“9”时,才可以。您实际上不需要Is8thOdd
函数<代码>如果中间(范围(“A1”)、8、1)Mod 2,则将执行此操作。只要处理类型不匹配
,如果第8位没有数字。现在,这就是我要找的!非常感谢你的帮助。现在,这就是我要找的人!非常感谢你的帮助。