2016-07-14 4 views
1

私はVBAで非常に新しいですが、Googleと特にstackoverflowを使用しています。私はVBAでいくつかの合理的なスキルを開発し、二週間。私はセル2から列Aを数式を下に貼り付けるVBAスクリプトを取得しようとしているVBA、データを含む列の最下部まで下がる数式を作成

は、現在使用される式は、私はいくつかの異なる方法を試してみましたが、構文エラーを取得し、コンパイルエラーをしている=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をファンタスティックなペースで続けたいと思っています。

+1

申し訳ありませんが、それは数字と場所を取る必要がありますマクロの記録を使用してコードをチェックし、例えばJcott30081983は、私の名前と誕生日として使用しますそれはthisのようになります。ありがとう – joshc

答えて

1

あなたは問題が"ddmmyy" 2つの文字列に数式文字列を終了し"=TEXT(H2,"")&LEFT(B2,1)&C2"ddmmyyが有効なVBAのいくつかの種類として解釈しようとしているということでした

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

と行を置き換えることによって、あなたの構文エラーを修正することができますコード。その全体のステートメントはもちろん、VBAコードではないので、エラーです。文字列の中に"を含める場合は、文字のエスケープにそれらのペアを使用する必要があります。

+0

右、理解しています。助けてくれてありがとう、私のインタビューは2日間で終わり、これは私が仕事中にやったかなり大きなプロジェクトを完了させるでしょう。これは最後のステップであり、私の脳はそれを理解しないと思われるかもしれないほど簡単です。本当にありがとう – joshc

0

誰かのためにユニークなIDを作成するために、最初の行で、その後

ThisWorkbook.Sheets("Sheet1").Range("C2:E11").Formula = "=LEFT(B2)&C2&TEXT(H2,""ddmmyyyy"")" 
関連する問題