Excel 将公式作为字符串插入单元格
这里面似乎有一些人物的问题 工作表中我的原始公式(有效): 此工作簿。工作表(“Zazmluvnenia”)。单元格(“3”,“AM”)。值=“=Výkony!M4&”,“&TEXT(Výkony!J4;“d.m.yyyy”)&”,”&TEXT(Výkony!K4;“hh:mm”)” 由于引用的原因,将其放到VBA中不起作用。我试图通过以下方式解决问题: 我根据上述问题的答案更改了代码:Excel 将公式作为字符串插入单元格,excel,vba,excel-formula,quotes,Excel,Vba,Excel Formula,Quotes,这里面似乎有一些人物的问题 工作表中我的原始公式(有效): 此工作簿。工作表(“Zazmluvnenia”)。单元格(“3”,“AM”)。值=“=Výkony!M4&”,“&TEXT(Výkony!J4;“d.m.yyyy”)&”,”&TEXT(Výkony!K4;“hh:mm”)” 由于引用的原因,将其放到VBA中不起作用。我试图通过以下方式解决问题: 我根据上述问题的答案更改了代码: “=Výkony!M3&”&Chr(34)&“&Chr(34)&TEXT(Výkony!J3;&Chr(34
“=Výkony!M3&”&Chr(34)&“&Chr(34)&TEXT(Výkony!J3;&Chr(34)&d.m.yyyy”&Chr(34)&“&Chr(34)&”&Chr(34)&”&TEXT(Výkony!K3;&Chr(34)&hh:mm”&Chr(34)&”
出现错误“1004”。双引号vs CHR(34)
- 您的
解决方案几乎没有问题,但您不知道VBA不像Excel那样将分号(CHR
)识别为分隔符。在VBA中,始终必须用逗号替换每个分号(用作分隔符);
- 类似地,VBA使用点(
)作为十进制分隔符
Option Explicit
Sub SEMI()
Dim strF As String
' Double double-quotes ("") in several rows.
strF = "=Výkony!M4&"", """ _
& "&TEXT(Výkony!J4,""d.m.yyyy"")&"", """ _
& "&TEXT(Výkony!K4,""hh:mm"")"
' CHR(34) in several rows.
strF = "=Výkony!M4&" & Chr(34) & ", " & Chr(34) _
& "&TEXT(Výkony!J4," & Chr(34) & "d.m.yyyy" & Chr(34) & ")&" _
& Chr(34) & ", " & Chr(34) _
& "&TEXT(Výkony!K4," & Chr(34) & "hh:mm" & Chr(34) & ")"
' Double double-quotes ("") in one row.
strF = "=Výkony!M4&"", ""&TEXT(Výkony!J4,""d.m.yyyy"")&"", ""&TEXT(Výkony!K4,""hh:mm"")"
' CHR(34) in one row.
strF = "=Výkony!M4&" & Chr(34) & ", " & Chr(34) & "&TEXT(Výkony!J4," & Chr(34) & "d.m.yyyy" & Chr(34) & ")&" & Chr(34) & ", " & Chr(34) & "&TEXT(Výkony!K4," & Chr(34) & "hh:mm" & Chr(34) & ")"
ThisWorkbook.Worksheets("Zazmluvnenia").Cells("3", "AM").Value = strF
End Sub
非常感谢,先生。你救了我一天。