1

私の目的は十分に簡単なはずです。1つの列を特定の行に自動入力するだけです。

Range("A3:C3").Select
Selection.AutoFill Destination:=Range("A3:C" & RowCount)

そのコードブロックは完全に機能します。しかし、私がしたいRowCountのは、それぞれに異なるが存在するため、3つの列を個別に自動入力することです。私は試した:

Range("A3").Select
Selection.AutoFill Destination:=Range("A3:A" & RowCount)

しかし、私は得るRun-time error '1004': Method 'Range' of object '_Global' failed

4

1 に答える 1

4

以下のコードは私にとって問題なく機能しました。発生したエラーメッセージで失敗する唯一の方法は、rowcountを無効なアドレス(「A3:A0」など)を生成する値に設定することでした。

  Sub FillIt()
      Dim RowCount As Long
      RowCount = 10
      Range("A3:A4").AutoFill Destination:=Range("A3:A" & RowCount)
  End Sub

.Autofillメソッドがシリーズをどのように満たすかについてはいくつかのオプションがあります。

上記のコードは、目的の範囲の最初の2つのセルに系列の最初の2つの値が含まれていることを前提としています。たとえば、A3=1およびA3=2の場合、Excelは一連の連続する整数1、2、3が必要であると想定します。値が1で空白の場合、結果の一連は1、空白、 1、空白など。

シリーズの塗りつぶし方法は、オプションの「タイプ」パラメータで指定できます。コードのfillメソッドは、settingと同等ですType:=xlFillDefault。xlFillSeries、xlFillCopy、xlFillLinearTrendなど、他にもいくつかの塗りつぶしタイプを使用できます。これらの完全なリストについては、Microsoftのリファレンスページを参照してください。

于 2013-03-01T03:22:21.667 に答える