2017-11-13 54 views
0

次のコードスニペットの自動塗り潰しメソッドは、1行以上で失敗し、1行のみの場合はランタイムエラー1004を返す場合はうまく機能します。変更。1行しかない場合に自動入力メソッドを適用するVBAコード

Lastrow = ws3.Cells(Rows.Count, "B").End(xlUp).Row 
ws1.Range("A2").FormulaR1C1 = _ 
    "=TEXT(RC[6],""000000000000"")&""-""&TEXT(RC[7],""0000"")" 
ws1.Range("A2").AutoFill Destination:=ws1.Range("A2:A" & Lastrow), Type:=xlFillDefault 
+1

範囲A2に数式を適用することが簡単:一度にA&LASTROWオートフィルせず – QHarr

+1

ws1.Range( "A2:A" &LASTROW).FormulaR1C1 = "= TEXT(RC [6]、" "000000000000 "")& "" - ""&TEXT(RC [7]、 "0000" ")" – QHarr

+0

ありがとう、それは動作します:) –

答えて

1

これは本当に簡単な修正である。一般的には

lastrow = Cells(Rows.Count, "B").End(xlUp).Row 
Range("A2").FormulaR1C1 = "=TEXT(RC[6],""000000000000"")&""-""&TEXT(RC[7],""0000"")" 
If lastrow > 2 Then 
    Range("A2").AutoFill Destination:=Range("A2:A" & lastrow), Type:=xlFillDefault 
End If 

、それが動作します。そして、それはあなたにエラーを与えます。なぜなら、最後の部分は1であり、それにはAutoFillを実行できないからです。

+0

ありがとう、それは動作します –

関連する問題