3

Excelセルから別の単語テーブルにデータを転送するスクリプトを書いています。これまでのところ、私はそのようにやっています:

    wordDoc.Bookmarks("Editor").Range.Text = Sheets("Product Eval").Range("E" & evalRow).Text

ここで、evalRowは前に計算されます。

ここで、誰かが列Eの前に列を追加するときに、コード全体を書き直さなければならないことを避けたいと思います。列全体の名前を変更して、移動しても名前を保持し、特定のセルを参照できるようにすることはできますか? VBAのその列名?

4

2 に答える 2

5

この問題を自分で解決しました:

  • 列全体にマークを付ける
  • Excel 2007の左上隅にある[名前ボックス]に目的の名前を入力して、Enterキーを押します。

VBAでは、次のコードが特定の列の4番目の行をアドレス指定します(列のタイトルに応じて、列に「Employees」という名前を付けました)。

    test = Sheets("Sheet1").Range("Employees").Cells(4, 1).Text

列を操作する場合、Cellsの2番目のパラメーターは常に1でなければならないことに注意してください(そうでない場合は、列を離れます)

于 2012-08-16T12:45:48.127 に答える
1

はい。範囲に名前を付けるには、

  1. Excelで範囲を選択します
  2. [名前]ボックスをクリックして、そこに付けたい名前を入力します。
  3. これで、数式で、定義した名前でセル/範囲にアクセスできます。
于 2012-08-15T09:07:22.647 に答える