11

作成中のワークシートでいくつかの問題が発生しています。テーブルの特定の場所に列を挿入し、ヘッダーを設定したいと考えています。

しばらく検索したところ、次のコード (のいくつかのバージョン) が見つかりました。

ActiveSheet.Columns(2).Insert

これは列を挿入するために機能しますが、この後にテーブルのヘッダーを変更する方法がわかりません。

また、テーブルの最後に列を追加して名前を付ける方法について、以前ここでアドバイスを受けました。

そのためのコードは次のとおりです。

Dim oSh As Worksheet
Set oSh = ActiveSheet
Dim oLc As ListColumn
Set oLc = oSh.ListObjects("PropTable").ListColumns.Add

oLc.Name = "XYZ"

この 2 つの方法をさまざまな方法で組み合わせてみましたが、うまくいきません。列を追加するだけでなく、特定の場所に列を挿入するようにコードの 2 番目のブロックを変更する方法はありますか?

ありがとう。

-ショーン

4

3 に答える 3

19

同じコード行を使用して、テーブルの特定の場所に列を追加して名前を付けることができます。

Table.ListColumns.Add(2).Name = "New Header"

これにより、テーブルの 2 番目の列の左側に列が追加され、新しいヘッダーという名前が付けられます。名前がわかっている列の左側に列を追加することで、コードを動的にすることができます。このように、新しい列の固定位置の整数値を指定する必要はありません。

Dim newColNum as Integer
newColNum = Range("Table[Column Name]").Column
Table.ListColumns.Add(newColNum).Name = "New Header"

[列名] は、新しい列を挿入するテーブル内の列の名前です。テーブル内の任意の位置に配置でき、その値を整数として Add に渡すことができます。

于 2016-06-03T07:03:48.277 に答える
8
  Dim Table As ListObject
  Set Table = Sheet1.ListObjects("Table1")
  Table.ListColumns.Add 2
  Table.HeaderRowRange(2) = "New header"
于 2013-07-09T13:50:39.940 に答える