gpt4 book ai didi

vba - 在 VBA 插入的公式中使用变量

转载 作者:行者123 更新时间:2023-12-01 17:51:21 32 4
gpt4 key购买 nike

解决方案感谢Chrismas007在公式中使用了“CHR(34)”。

我有这段代码,它插入一个公式,该公式从相邻的单元格值中读取并决定在单元格中放入什么内容。例如。如果单元格的追踪号码以“93”开头,那么我们就知道这是一个“dhlglobalmail”包裹。

但是,如果将来发生变化,我需要让用户可以轻松更改这些值,因此我在单元格区域的“设置”工作表中拥有这些值。

我尝试为其中一个运营商声明一个变量作为名为“dhlcarriervalue”的测试,该变量被分配给另一张包含文本“dhlglobalmail”的工作表上的单元格范围。当我尝试将变量放入公式中时,它不起作用。我只是收到错误。我尝试在它周围加上“&”,双引号,单引号,但它不起作用。我知道您需要在 VBA 公式中对字符串使用双引号,但这是一个变量而不是字符串。我尝试删除它们,但不起作用。您可以看到其他数字起作用,它们只是字符串,但是当我尝试使用变量时,它不起作用。这不可能吗?我知道该变量是正确的,因为我可以“msgbox”它并且它就在那里。

Dim LastRowNum As Long
Dim dhlcarriervalue As String
dhlcarriervalue = ThisWorkbook.Sheets("Settings").Range("B41")
With Range("R2:" & "R" & LastRowNum)
.Value = "=IF(LEFT(s2,2)=""92"",""ups"",IF(LEFT(s2,2)=""93"","dhlcarriervalue",IF(LEFT(s2,2)=""94"",""usps"",IF(LEFT(s2,2)=""1Z"",""ups"",""Check Tracking""))))"
.Select
.Copy
.PasteSpecial xlPasteValues
End With
' I tried "" & dhlcarrier value & "" which didn't work either.

最佳答案

我在您的代码中做了一些注释:

Dim LastRowNum As Long '<Where is this defined???
Dim dhlcarriervalue As String

dhlcarriervalue = ThisWorkbook.Sheets("Settings").Range("B41").Value '.Value is default, but you should specify
With Sheets("NAME OF SHEET").Range("R2:" & "R" & LastRowNum) 'what Sheet specifically?
.Formula = "=IF(LEFT(s2,2)=""92"",""ups"",IF(LEFT(s2,2)=""93""," & Chr(34) & dhlcarriervalue & Chr(34) & ",IF(LEFT(s2,2)=""94"",""usps"",IF(LEFT(s2,2)=""1Z"",""ups"",""Check Tracking""))))"
'.Select 'Not needed since you specify the cell for .Copy
.Copy
.PasteSpecial xlPasteValues
End With

关于vba - 在 VBA 插入的公式中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486649/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com