2016-09-03 14 views
1

特定のセルに関連して範囲を選択する必要があります。オフセットから範囲を作成する

これは私がこれまで持っているものである - ユーザーをダブルクリック電池:

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 

セルをクリックユーザーがRangeとしてTargetで利用可能です。

次に、Targetの位置に対して新しいRangeを選択する必要があります。私は以下のコード試してみました:

dataSheet.Range(Target.Offset(2, 2)), Target.Offset(15, bHeight)).Select 

を私は.Cells.Addressを使用して他の人の記事を読んでから、さまざまな方法の多くを試してみたが、それは仕事を得るように見えることはできません。私はデータ型が混ざっていると思う?何か案は?

+0

「bHeight」とは何ですか? –

+0

@RobinMackenzie整数変数 – ChrisBull

答えて

2

OffsetResizeを組み合わせて結果を達成できます。最初にOffsetを使用して、変位をTargetから取得し、次にResizeから必要な行数と列数に増加させます。ここにコード例があります:

Option Explicit 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 

    Dim rngNew As Range 
    Dim bHeight As Integer 

    bHeight = 3 
    Set rngNew = Target.Offset(2, 2).Resize(13, bHeight) 

    rngNew.Select 

End Sub 
+0

'Cancel'を' True'に設定しますか? –

+1

@ Garyのスチューデント - 良い点 - この小さなテストケースの動作に違いはないようです。彼らのセットアップに応じて、OPにかなりの差をつけることができました。 –

+0

完璧、ありがとう! – ChrisBull

関連する問題