ExcelのVBで、Rangeの範囲に任意のセル値を使うには
VB初心者で行き詰っております。
前任者の作成したVBコードで、特定のセルの入力をテンキーで入力できるようにしています。
VBのコードについては、下記の通りとなっております。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim crng As Range
Dim ttarget As Range
Application.EnableEvents = False
Set ttarget = Application.Intersect(Target, Range("C6:AG35"))
If Not ttarget Is Nothing Then
ttarget = Application.VLookup(ttarget, Worksheets("入力").Range("A1:B10"), 2,False)
For Each crng In ttarget
If IsError(crng) Then
crng.Value = ""
End If
Next
End If
Application.EnableEvents = True
End Sub
ここで、シート内の範囲が変更となる(対象となる行が増減される)ことが発生します。
Set ttarget = Application.Intersect(Target, Range("C6:AG35"))
※この部分がRange("C6:AG37")や、Range("C6:AG33")などに変更となるということです。
その都度、VBの変更をかけると可能なのですが、より効率的にするため、入力という名前のシートに
ある空きセルをうまく活用したいと考えております。
Range("C6:AG35")の部分で、任意のセルを参照する変数を利用するには、
どのように記述したらよろしいでしょうか?
また、別法として、常に行数をカウントできる方法でも可能なのかもしれません。
最初の行に値するセルがC6から始まり、最終行よりも下は空白セルとなります。
とすれば、行数をカウントして変数に組み込むことも一つなのかもしれませんが、技術がないため、
思いつくだけにとどまっております。
アドバイスをいただければと思います。よろしくお願いします。
お礼
ありがとうございます Blankをカウントして10Blankですという意味ですか Orだとどうなるのでうすかね 私がしたいことはこれでバッチリです使わせてもらいます。