在变量上使用excel函数

问题描述 投票:0回答:2

我正在尝试从我设置的变量中获取最正确的字母,然后将结果分配给男性或女性。下面是我尝试过的代码片段。

Set Gender = rFirst.Offset(1, 5)

Worksheets("E'ee Details").Range("E1").Value = "=if(right(" & Gender & ",1)=""M"",""Male"",if(right(" & Gender & ",1)=""F"",""Female"",""""))"

这导致#NAME?被显示。

excel excel-vba variables vba
2个回答
1
投票

修改如下

Worksheets("E'ee Details").Range("E1").Value = "=if(right(EmployeeAll!" & gender.Address & ",1)=""M"",""Male"",if(right(EmployeeAll!" & gender.Address & ",1)=""F"",""Female"",""""))"

1
投票

您的方法涉及创建工作表方程,然后使用Evaluate()来计算它。这是另一种方法:

Sub jufg()
    Dim Gender As Range, sexCode As String
    Dim rFirst As Range
    Set rFirst = Range("A1")

    Set Gender = rFirst.Offset(1, 5)
    sexCode = Right(Gender.Value, 1)

    With Worksheets("E'ee Details").Range("E1")
        If sexCode = "M" Then
            .Value = "Male"
        ElseIf sexCode = "F" Then
            .Value = "Female"
        Else
            .Value = ""
        End If
    End With
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.