VBAをしばらく学習していますが、私が直面していた1つの問題がありました。VBAを使用してExcelの動的列に名前を付ける方法
VBAを使用して列に名前を付けることができるように、後で他のセル/列で参照列(INDEX関数を使用)として使用できます。
固定されている列の名前を付ける方法を知っています。しかし、それは私が探しているものではありません。私の問題の
例:
今月私はTotalAmount
として列D
を命名しています。 VBAコードとすることができる:私は、INDEX関数を使用して他のセルに、その列を参照する
ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!C4"
。
ただし、翌月、列番号D
の直前に新しい列を追加します(前月の販売額を言います)。したがって、TotalAmount
という名前の新しい列は、D
ではなく、E
という列になります。
新しい列を追加するときに列の名前を変更しないでください。列E
は自動的にTotalAmount
列になります。しかし、私はそれに頼ることはできません。なぜなら、Excelシートにはさまざまな人々がアクセスし、誰もが自分の計算をしているからです。
だから私は、同様にこれを試してみました(私はそれが愚かであると確信していますが、ちょっと、私はまだnoobのだ)が、それはうまくいきませんでした:(
Sub Macro4()
Range("D1").Select
'(I can select the desired cell each month using the search function)
Dim i As Integer
i = ActiveCell.Column
ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!Ci"
End sub
誰も私を助けることができるのであれば、私は非常に感謝されますあるいは、このテーマに私を導く。あなたは引用符で。引用符では、そのは、単に「i」はと値がないことを使用することはできませんので
テキスト
"Total Amount"
ためA1:Z1
を検索し、そのセルに名前付き範囲を設定します!チャームのように働いた!ありがとうございました! :D – Alomical