我正在尝试从我设置的变量中获取最正确的字母,然后将结果分配给男性或女性。下面是我尝试过的代码片段。
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?被显示。
修改如下
Worksheets("E'ee Details").Range("E1").Value = "=if(right(EmployeeAll!" & gender.Address & ",1)=""M"",""Male"",if(right(EmployeeAll!" & gender.Address & ",1)=""F"",""Female"",""""))"
您的方法涉及创建工作表方程,然后使用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