在VBA插入的公式中使用一个variables
解决方法感谢Chrismas007使用公式中的“CHR(34)”。
我有这个代码插入一个公式,读取相邻的单元格值,并决定要放在单元格中。 例如,如果单元格的跟踪号码以“93”开头,那么我们知道这是一个“dhlglobalmail”包。
但是,如果将来有所改变,我需要用户可以轻易改变这些值,所以我在单元格区域的“设置”工作表中具有这些值。
我试图为一个运营商声明一个variables,作为名为“dhlcarriervalue”的testing,该testing被分配给包含文本“dhlglobalmail”的另一个表单元格的范围。 当我尝试将该子variables放入公式中时,它将不起作用。 我只是得到错误。 我试图把“&”放在它周围,双引号,单引号,它不会工作。 我知道你需要使用VBA公式中的string的双引号,但这是一个variables而不是string。 我试图删除它们,它不会工作。 你可以看到其他数字的工作,这只是string,但是当我尝试使用一个variables,它不起作用。 这不可能吗? 我知道这个variables是正确的,因为我可以“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
- 如何使用Perl的DBI将date值从Oracle转换为Excel?
- 根据两个相邻的单元格突出显示不同但特定的数字
- 在Windows上的Excel VBA中,如何获得string化的JSON表示而不是“”用于parsing的JSONvariables?
- dynamicreplace编辑器中的string
- 如何将包含超过15位数字限制的单元格转换为实际值
- 在Excel中查找结果将行复制到另一个工作表
- 只有允许子运行后,另一个已经运行的VBA
- lockingAccess表以防止在某些时候写入
- 无法从格式的excel文件parsingasp.net中的DateTime – 25-OCT-13 01.08.24.732000000 PM