Sen yaprak boş olabilir kod
- için bu modu yapmak gerekir, bu yüzden Bul şey dönerse bu bir hata verecektir gibi
Find
ile Select
kullanmak asla. Bunun yerine, Is Not Nothing
Find
aralık nesnesinin satır ve sütuna göre arama yapabildiğini test edin. Eğer iki Find
ile belirlenen hücreye girmeden ilk hücrenin (A1) bir aralığını ayarlamak için gerçek son hücre kullanımını Range
belirledikten sonra gerçek son kullanılan hücresini
- belirlemek için son satır ve sütun hem belirlemek gerekir
Find
ve bir değer alır, iki Find
s tarafından tanımlanan son kullanılan hücreye A1 bir dizi rng3
yaparsa aralıkları
Pls
aşağıdaki kod bakın. kullanılan son hücreye A1 seçmek için
Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Select
: Kolon A arasında (in-boşluklar da dahil olmak üzere) kullanılan son hücreye A1 seçilmesi
Sub GetRange()
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Set rng1 = Cells.Find("*", [a1], xlFormulas, , xlByRows, xlPrevious)
Set rng2 = Cells.Find("*", [a1], xlFormulas, , xlByColumns, xlPrevious)
If Not rng1 Is Nothing Then
Set rng3 = Range([a1], Cells(rng1.Row, rng2.Column))
MsgBox "Range is " & rng3.Address(0, 0)
'if you need to actual select the range (which is rare in VBA)
Application.Goto rng3
Else
MsgBox "sheet is blank", vbCritical
End If
End Sub
Mükemmel !!! :) – AME
Tamam, bu menzil işlevini yerine getirmek için güzel bir kewl yoludur. Sadece bir fark için bir prosedürün kullanımı ve yineleme üzerinde yineleme kullanımı bakıyorum. – JackOrangeLantern
iyi açıkladı :) –