对变量使用excel函数
我试图从我设置的变量中获取最正确的字母,然后为结果指定男性或女性。下面是我尝试过的代码片段对变量使用excel函数,excel,variables,vba,Excel,Variables,Vba,我试图从我设置的变量中获取最正确的字母,然后为结果指定男性或女性。下面是我尝试过的代码片段 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?
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?正在展示 您的方法包括创建一个工作表方程式,然后使用
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
您的方法包括创建一个工作表方程式,然后使用
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
修改如下
Worksheets("E'ee Details").Range("E1").Value = "=if(right(EmployeeAll!" & gender.Address & ",1)=""M"",""Male"",if(right(EmployeeAll!" & gender.Address & ",1)=""F"",""Female"",""""))"
修改如下
Worksheets("E'ee Details").Range("E1").Value = "=if(right(EmployeeAll!" & gender.Address & ",1)=""M"",""Male"",if(right(EmployeeAll!" & gender.Address & ",1)=""F"",""Female"",""""))"
您正在将
Gender
的值放入公式中,因为粗略检查公式会告诉您,这是工作表无法理解的。您需要使用address属性来返回单元格引用。使用set时,我假设您在VBA中执行此操作,为什么不使用IF-ELSE-IF语句来设置值?在公式中,将Gender
更改为Gender.address
,它应该可以正常工作。谢谢SJR,我在性别后添加了.Address,但现在返回的是一个空白单元格,这意味着最后一个字符既不是“M”也不是“F”。您正在将Gender
的值放入公式中,因为粗略检查公式会告诉您,这一点工作表不会理解。您需要使用address属性来返回单元格引用。使用set时,我假设您在VBA中执行此操作,为什么不使用IF-ELSE-IF语句来设置值?在公式中,将Gender
更改为Gender.address
,它应该可以正常工作。谢谢SJR,我在性别后面加了.Address,但现在返回的是一个空白单元格,这意味着最后一个字符既不是“M”也不是“F”。谢谢SJR,这非常有效。谢谢大家对汉克斯SJR的支持,这非常有效。谢谢大家的意见