2017-02-13 4 views
2

後で使用するために、変数にActiveCellを割り当てようとしています。それは私にタイムアウトエラーを与える。将来の参照(VBA)のためにActiveCellから範囲を割り当てる方法

コードは以下のとおりですが、一般的に変数に変数を動的に割り当てる方法はわかりません。

Sub findCells() 
Dim topCell As Integer 
Dim left_Cell As Integer 

Set refCell = Range(ActiveCell) 

refCell.End(xlUp).Select 
topCell = ActiveCell.Value 
MsgBox topCell 
refCell.End(xlToLeft).Select 
leftCell = ActiveCell.Value 
MsgBox leftCell 

End Sub 
+3

使用 'refCell = ActiveCell'設定し、Range' –

+0

として'薄暗いrefCellを定義asloあなたはActiveCellの場所を保存しようとしているか、セルが含まれている値を保存しようとしていますか? – amdopt

答えて

3

多分次のコードのようなものを使用できます。 SelectActiveCellから離れて、可能な限り修飾されたRangeを使用しようとするとよいでしょう。

Option Explicit 

Sub findCells() 

Dim topCell As Long 
Dim leftCell As Long 
Dim refCell As Range 

Set refCell = ActiveCell 

topCell = refCell.End(xlUp).Value ' <-- gets the value of the top cell 
topCell = refCell.End(xlUp).Row ' <-- gets the row number of the top cell 
MsgBox topCell 

leftCell = refCell.End(xlToLeft).Value ' <-- gets the value of the column to the left 
leftCell = refCell.End(xlToLeft).Column ' <-- gets the column number of the column to the left  
MsgBox leftCell 

End Sub 
+0

パーフェクト。私がやろうとしていたことを達成しましたが、はるかにきれいです。ありがとう! – VBAnking

+3

こんにちは、10Kへようこそ!おめでとう! –

+0

@ Mat'sMugありがとう、今私は引退できる:)またはそれを拾う –