Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将公式作为字符串插入单元格_Excel_Vba_Excel Formula_Quotes - Fatal编程技术网

Excel 将公式作为字符串插入单元格

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

这里面似乎有一些人物的问题

工作表中我的原始公式(有效):

此工作簿。工作表(“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)&d.m.yyyy”&Chr(34)&“&Chr(34)&”&Chr(34)&”&TEXT(Výkony!K3;&Chr(34)&hh:mm”&Chr(34)&”
出现错误“1004”。

双引号vs CHR(34)
  • 您的
    CHR
    解决方案几乎没有问题,但您不知道VBA不像Excel那样将分号(
    )识别为分隔符。在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

非常感谢,先生。你救了我一天。