根据条件

时间:2016-03-29 02:54:49

标签: excel vba excel-vba

这里的第一次海报......如果他们符合一个或另一个标准,我需要在数字上添加连字符。根据符合的标准,破折号将被添加到不同的位置。

数字在A列中,它们检查的值在B列中。我需要检查B中的值然后相应地更新A.最终结果如果B = SOC SEC将为123-45-6789,或者如果B = TAXID则为12-3456789。

我有以下内容,但我知道我遗漏了几个组件。我似乎无法在任何地方找到正确答案。

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

1 个答案:

答案 0 :(得分:1)

你走了。只需确保选择您需要在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