VBA,创建公式以在包含数据的列底部向下移动

VBA,创建公式以在包含数据的列底部向下移动,vba,excel,excel-2010,Vba,Excel,Excel 2010,我对VBA非常陌生,但是使用google,尤其是stackoverflow,我已经在VBA方面发展了一些合理的技能,并在不到两周的时间内完成了很多工作 我正试图让VBA脚本从单元格2粘贴公式到列a,当前使用的公式是=TEXT(H2,“ddmmyy”)&LEFT(B2,1)和C2 我尝试了几种不同的方法,但是出现了语法错误和编译错误。我最近的尝试如下 Sub FillDown() Dim strFormulas(1 To 1) As Variant Wi

我对VBA非常陌生,但是使用google,尤其是stackoverflow,我已经在VBA方面发展了一些合理的技能,并在不到两周的时间内完成了很多工作

我正试图让VBA脚本从单元格2粘贴公式到列
a
,当前使用的公式是
=TEXT(H2,“ddmmyy”)&LEFT(B2,1)和C2
我尝试了几种不同的方法,但是出现了语法错误和编译错误。我最近的尝试如下

    Sub FillDown()

        Dim strFormulas(1 To 1) As Variant

        With ThisWorkbook.Sheets("Sheet1")
            strFormulas(1) = "=TEXT(H2,"ddmmyy")&LEFT(B2,1)&C2"


            .Range("C2:E2").Formula = strFormulas
            .Range("C2:E11").FillDown
        End With
    End Sub

我在“ddmmyy”(编译错误:语法错误)上得到一个错误,它将数字放在某人的名字前面以创建唯一的ID。我很抱歉,因为这可能是一个糟糕的问题,但我是一个相当新的、有成就的人,已经学到了很多东西,我希望以惊人的速度学习VBA。

您可以通过将行替换为

strFormulas(1) = "=TEXT(H2,""ddmmyy"")&LEFT(B2,1)&C2"

问题是
“ddmmyy”
将公式字符串终止为两个字符串
”=TEXT(H2,“
”)&左(B2,1)和C2“
ddmmyy
试图解释为某种有效的VBA代码。整个语句当然不是有效的VBA代码,因此会出现错误。如果要在字符串中包含
,则必须使用一对字符串来转义字符。

只需使用Record宏并检查代码即可

ThisWorkbook.Sheets("Sheet1").Range("C2:E11").Formula = "=LEFT(B2)&C2&TEXT(H2,""ddmmyyyy"")"

很抱歉,为某人(例如Jcott30081983)创建唯一的ID需要数字和位置,因为我的名字和生日是这样的。谢谢,明白了。非常感谢你的帮助,我的面试将在两天后进行,这将完成我在工作中承担的一个相当大的项目。就这么简单可能这是最后一步,我的大脑无法理解。非常感谢