0

これが私のコード行です:

ActiveCell.FormulaR1C1 = "='Main'!R[9]C[0]&LEFT("" "",5-LEN('Main'!R[9]C[1])) &'Main'!R[9]C[1]&"" ""&DAY('Main'!R[4]C[8]) & ""-"" & UPPER(TEXT('Main'!R[4]C[8],""mmm"")) & ""-"" &YEAR('Main'R[4]C[8])&"" "" & 'Main'!R[9]C[3] & "" "" & 'Main'!R[9]C[4] & "" "" & LEFT('Main'!R[9]C[5],35)& LEFT("" "",35-LEN(LEFT('Main'!R[9]C[5],35))) & "" "" & LEFT("" "", 12-LEN('Main'!R[9]C[6]))& 'Main'!R[9]C[6] & "" "" & 'Main'!R[9]C[7] & "" "" & LEFT('Main'!R[4]C[9],9) & LEFT("" "",9-LEN(LEFT('Main'!R[4]C[9],9))) & "" "" & 'Main'!R[9]C[2] & LEFT("" "",4-LEN('Main'!R[9]C[2])) & "" DATALOAD"""

私はrun-time error 1004それがapplication-defined or object-defined error. 問題は、私が VBA にあまり詳しくないことです。この式では、かなりのことが行われています。基本的に必要なのは、データを新しいシートに正確な形式で貼り付けることだけです。そのため、たくさんのスペースなどがあります。R1C1シート1の各行には異なるデータがあり、それに応じてシート2に貼り付ける必要があるため、使用します。

このコードでエラーが発生する理由について何か考えはありますか? どんな助けでも大歓迎です。

明確にするために:私のマクロ全体は次のとおりです...

Dim row As Integer
Dim col As String
col = "A"
row = 1
Do Until IsEmpty(ActiveCell) 
     Sheets("Protected").Select 
     Range(col & row).Select 
     ActiveCell.FormulaR1C1 = "big long code as mentioned above goes here"
     Sheets("Main").Select
     ActiveCell.Offset(1, 0).Select 
     row = row + 1

コメントからコピー

実際の作業式は

=Main!A11&LEFT(" ",5-LEN(Main!B11)) &Main!B11&" "&DAY(Main!$D$6) & "-" & UPPER(TEXT(Main!$D$6,"mmm")) & "-" &YEAR(Main!$D$6)&" " & Main!D11 & " " & Main!E11 & " " & LEFT(Main!F11,35)& LEFT(" ",35-LEN(LEFT(Main!F11,35))) & " " & LEFT(" ", 12-LEN(Main!G11))& Main!G11 & " " & Main!H11 & " " & LEFT(Main!$E$6,9) & LEFT(" ",9-LEN(LEFT(Main!$E$6,9))) & " " & Main!C11 & LEFT(" ",4-LEN(Main!C11)) & " DATALOAD"

4

1 に答える 1