Excel Vba Macro İle Hücrelere Kayıt Hakkında

1 2 3
12/05/2021, 00:58

feraz

Range("a" & Rows.Count).End(3).Offset(1, 0).Select
12/05/2021, 01:04

feraz

Hatanın sebebini Gifte anlattım görsel olarak.


https://resim.accesstr.net/do.php?img=11013
12/05/2021, 10:14

Oğuz Türkyılmaz

VBA Dersleri izliyorum kodları anlatıyorlar ama kodun hangi durumlarda neden hata vereceğini bazen atlıyorlar. Bu konu anlatılırken verilen örnekte 3,5 satır bilgi varken konu anlatılmış ama satırda bilgi yokken hata vereceği ve sebebi de anlatılmamış bende direk o hatayı neden verdiğini sorguluyorum. Sonuçta ders eksik anlatılmış ben de sebebini anlamamış oluyorum.
12/05/2021, 10:50

feraz

(12/05/2021, 10:14)Oğuz Türkyılmaz yazdı: VBA Dersleri izliyorum kodları anlatıyorlar ama kodun hangi durumlarda neden hata vereceğini bazen atlıyorlar. Bu konu anlatılırken verilen örnekte 3,5 satır bilgi varken konu anlatılmış ama satırda bilgi yokken hata vereceği ve sebebi de anlatılmamış bende direk o hatayı neden verdiğini sorguluyorum. Sonuçta ders eksik anlatılmış ben de sebebini anlamamış oluyorum.
Giftekine göre anladınız değil mi?
12/05/2021, 11:22

Oğuz Türkyılmaz

Sonunda anladım
12/05/2021, 12:47

Oğuz Türkyılmaz

@feraz Hocam alttaki kodunuzda son doluyu nasıl yakaladığını anlamamıştım. Bu kod yapısındaki işleyiş ile elde edilen sonucu


'Alttaki kod eger A sütunu bossa son satir olarak 2 verir, 1 tane veri olsa dahi son satiri son dolunun bir alt satir no verir-----------------

Kod:
If WorksheetFunction.CountA(.Range("A2:A" & Rows.Count)) = 0 Then
                       SonSatir = .Range("A" & Rows.Count).End(3).Row
                       ElseIf WorksheetFunction.CountA(.Range("A2:A" & Rows.Count)) > 0 Then
                       SonSatir = .Range("A" & Rows.Count).End(3).Row + 1
                 End If


Kod:
Bu aşağıdaki kod yapısı ile bir çözüm üreterek elde etsek aralarında ne gibi bir fark olur. BU kodda aşağıdan yukarı ilk dolunun altına gidiyor. Bu bir yapı ve sonunda bunu anladım ama sizin koddaki end(3) bölümünün işleyişini çözemedim.

Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).Select
1 2 3