0

オフセット式を使用する名前付き式をX個作成するマクロを作成しようとしています。Xは、sheet1にあるデータ系列(列)の数を表します。これが、作成するものの1つを探す方法です。

formula = offset($b$2,$a$2,0,$a$3,1)
activeworkbook.names.add Name:="test", Refers to:=formula

ただし、i =値を持つ列の数になるまで、doループを使用します。だから、これはこれでの私のベストショットです、そして私はそれを実行させることができないので、私はたくさんのエラーがあると確信しています:

columns = activesheet.countif((1:1),"*"
i = 5 
do until i = columns

'This is where i want to define my static cells location (not value) to be referenced in the formula
    pan = cells(1,2)
    zoom = cells(1,3)

'This is where i want to define my dynamic cells location (not value) based on the current column
    series = cells(2,i)

'This is where i want to create a name formulas specific to each series
    formula = "=offset(" & series & "," & pan & ",0" & zoom & ",1)
    activeworkbook.names.add name:=cells(1,i), refersto:=formula

したがって、私の結果は基本的に、新しい名前の数式を取得しますが、参照数式は実際のセルアドレスではなく整数で埋められます。これは、セルのアドレスを貼り付けるのではなく、セルの値を呼び出す数式を使用しているためです。

どんな助けでも素晴らしいでしょう。

4

1 に答える 1

0

わかりました、私は自分が間違っていることを理解しました。マクロを記録したとき、それが置かれていることに気づかなかった

ActiveWorkbook.Names.Add Name:="Height___zoom", RefersToR1C1:="=Data!R5C1"

今、私は簡単にドロップを作ることができます

columns = activesheet.countif((1:1),"*"
i = 5 
do until i = columns

pan = "R1C2"
zoom = "R1C3"

series = "R2C" & i

formula = "=offset(" & series & "," & pan & ",0" & zoom & ",1)
activeworkbook.names.add name:=cells(1,i), refersto:=formula

またはそのようなもの。それでも、実際に正しく実行されるようにいくつかの問題を解決する必要がありますが、数式でセルの場所を参照するためにR#C#が使用されていることがわかりました。

于 2013-03-14T12:09:42.473 に答える