2017-08-10 6 views
1

あなたのアクティブセルと言うように原点を変更する簡単な方法はありますか? Javaデカルト座標系に似ていますか?それを行う方法はありますか?だから私のアクティブセルが(5,4)にあれば、それを新しい(1,1)に変更できますか? `Activebook.cells(1,1)」がデフォルトの前に何もせずにExcel VBAの現在のセルの位置に原点をどのように変更しますか?

+0

あなたの値の前に行と列を削除することができます...しかし、それはハックのようなものです... – deHaar

答えて

1

Cells(1,1)代わりに、あなたはそれを修飾する範囲を参照することができます。

セル D5またはActivebook.Cellsを(意味する
Range("D5:IV100000").Cells(1,1) 

5,4)

+0

どのように新しい1,1としてアクティブセルで範囲を設定しますか? ActiveCell.Adress(RowAbsolute:= False、ColumnAbsolute:= False)と等しいポインタ変数があります。そして、私はRange( "pointer:IV100000")のようなもので新しい原点を設定したいと思います。それ、どうやったら出来るの? –

+0

"1,1"がないことがポイントです。 'Range(" A5 ")のように先行する範囲に基づく相対パスです。セル(1,1)はセル" A5 "を意味します。 'Cells'プロパティは範囲からの相対パスです。範囲が指定されていない場合、 'cells(1,1)'は 'ActiveSheet'を参照します。ですから、 "新しいセル1,1としてアクティブセルでレンジを設定するにはどうすればいいですか"というあなたの質問は無意味です。絶対的な「1,1」はありません。範囲( "D5") 'セル範囲(" D5 ")または範囲(" D5 ")を指定するセルの相対位置を指定します。 0,5) 'またはwhat-have-you。 – JNevill

+0

また、返信をお待ちして申し訳ありません。先週私は遠隔地にいたが、インターネットはなかった – JNevill

0

あなたはOffsetプロパティを使用することができます。

現在ActiveCellがセルD5だったのであれば、その後、ActiveCell.Offset(10, 7)は、rにセルに以下の10行7列を指し、すなわち、細胞K15)。

また、ActiveCellが現在D5である場合、ActiveCell.Cells(11, 8)がK15を参照するプロパティを使用することもできます(JNevillの回答に従って)。 Cellsを効果的に基づくものであるながら

二つの方法の主な違いは、Offsetが効果的であるゼロベースということである(すなわち、ActiveCell.Cells(1, 1)ActiveCellと同じである)(すなわち、ActiveCell.Offset(0, 0)ActiveCellと同じです)。

関連する問題