Vba 根据条件插入字符
第一次张贴在这里…我需要添加连字符的数字,如果他们满足一个或另一个标准。根据满足的条件,破折号将添加到不同的位置 数字在A列中,它们所检查的值在B列中。我需要检查B中的值,然后相应地更新A。如果B=SOC SEC,最终结果为123-45-6789,如果B=TAXID,最终结果为12-3456789 我有以下内容,但我知道我缺少几个组件。我似乎到处都找不到正确的答案Vba 根据条件插入字符,vba,excel,Vba,Excel,第一次张贴在这里…我需要添加连字符的数字,如果他们满足一个或另一个标准。根据满足的条件,破折号将添加到不同的位置 数字在A列中,它们所检查的值在B列中。我需要检查B中的值,然后相应地更新A。如果B=SOC SEC,最终结果为123-45-6789,如果B=TAXID,最终结果为12-3456789 我有以下内容,但我知道我缺少几个组件。我似乎到处都找不到正确的答案 Sub AddHyphens() Dim TaxIDType As String Dim taxid As Long
Sub AddHyphens()
Dim TaxIDType As String
Dim taxid As Long
Dim SOCSEC As String
Dim TAXIDfield As String
IF TaxIDType="SOC SEC" then Cstr(Left(TaxID,3)&"-"&Mid(TaxID,4,2)&"-"&Right(TaxID,4)
Else
IF TaxIDType="TAXID" then Cstr(Left(TaxID,2)&"-"&Right(TaxID,7)
End Sub
给你。只需确保在A列中选择需要转换的整个数字范围
Sub AddHyphens()
Dim myRange As Range
Dim myCell As Range
Set myRange = Selection
For Each myCell In myRange
If myCell.Offset(0, 1).Value = "SOC SEC" Then
myCell.Value = Left(myCell.Value, 3) & "-" & Mid(myCell.Value, 4, 2) & "-" & Right(myCell.Value, 4)
ElseIf myCell.Offset(0, 1).Value = "TAXID" Then
myCell.Value = Left(myCell.Value, 2) & "-" & Right(myCell.Value, 7)
End If
Next myCell
End Sub
Cstr(左(TaxID,3)&“-”和中(TaxID,4,2)&“-”和右(TaxID,4))
是不必要的-。值
接受一个变量
参数,因此它将转换为字符串
,然后再转换回变量
<代码>左(滑行,3)&“-”和中(滑行,4,2)&“-”和右(滑行,4)避免了2次不必要的强制转换。这是正确的。我甚至没想过要选演员。将编辑nowOP的错误,而不是您的错误。;-)工作完美。谢谢你的帮助!