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

问题描述

其中有些字符似乎是个问题

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

ThisWorkbook.Worksheets(“ Zazmluvnenia”)。Cells(“ 3”,“ AM”)。Value =“ =Výkony!M4&”,“&TEXT(Výkony!J4;” dmyyyy“)&”,“ &TEXT(Výkony!K4;“ hh:mm”)“

由于引号,无法将其放入VBA。我试图通过以下方式解决问题:How do I put double quotes in a string in 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,""&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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...