单元格插入多个字符串报错1004

Error 1004 when insert multiple strings in a cell

代码:

Sub ConcatenateS()
    

Dim String1 As String
Dim String2 As String
Dim String3 As String
Dim String4 As String

String1 = "=""Et la Société "
String2 = """&'Proposition de contrat'!C6&"""
String3 = " domiciliée "
String4 = """&RECHERCHEV(C17;'Liste des sous-traitants'!A2:F35;2;VRAI)&"""""

Worksheets("Commande de Travaux").Range("A30").Value = String1 & String2 & String3 & String4

End Sub

有人可以向我解释为什么我会收到此错误吗? (公式是法语的,但我认为这不是问题,因为即使我只输入字符串 1 它也不起作用)

字符串 1 无法单独使用,因为它缺少结束引号。

当我创建一个新工作簿并使用以下名称创建 sheets 时:

  • 合同提案
  • 清单 sous-traitants
  • Travaux 司令部

并将字符串 4 更改为英文,如下所示:

String4 = """&vlookup(C17,'Liste des sous-traitants'!A2:F35,2,true)&"""""

你的代码对我来说工作正常。起初,我认为您的问题可能是 sheet 名称中的一个不匹配,但那应该是错误 #9,而不是 #1004。这是我的完整功能,以备不时之需。

Sub ConcatenateS()

    Dim String1 As String
    Dim String2 As String
    Dim String3 As String
    Dim String4 As String
    
    String1 = "=""Et la Société "
    String2 = """&'Proposition de contrat'!C6&"""
    String3 = " domiciliée "
    String4 = """&vlookup(C17,'Liste des sous-traitants'!A2:F35,2,true)&"""""
    
    Debug.Print String1 & String2 & String3 & String4
    Worksheets("Commande de Travaux").Range("A30").value = String1 & String2 & String3 & String4

End Sub