• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

dolu hücrelerin satır numaralarını bulma

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,677
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
a2'de 5 a6'da 10 a11'de 22 sayıları var benim istediğim dolu olan satırların satır numaralarını bulmak, tek işlemde ama , bir fonksiyonun içine yerleştiricem

burda her zaman sayı olacak birşey diye yok, metinde olabilir

istediğim elde ettiğim sonuçların satır numaraları öğrenmek
 
Son düzenleme:
Ne kadarlık bir alanda arama yapılacağını belirtmediğiniz için 1000 satır ve 20 sütun ile sınırlandırdım, herhangi bir değer olan satır numaralarını msgbox a ve E1 hücresine yazdırıyor.
Kod:
Sub bul()
For n = 1 To 1000
    For k = 1 To 20
        If Cells(n, k).Value <> "" Then
            satırlar = satırlar & " " & Cells(n, k).Row
            Exit For
        End If
    Next
Next
MsgBox satırlar
Cells(1,5).Value = satırlar
End Sub
 
sonucu alt alta nasıl yazdırırız

fonksiyon ile nasıl yapılabilir
 
:cool:
Kod:
=EĞER(A1<>"";SATIR(A1);"")
 
Ekli dosyayı inceleyiniz.:cool:
 

Ekli dosyalar

evren üstad bu yol çok uzun

Sub bul()
For n = 1 To 1000
For k = 1 To 20
If Cells(n, k).Value <> "" Then
satırlar = satırlar & " " & Cells(n, k).Row
Exit For
End If
Next
Next
MsgBox satırlar
Cells(1,5).Value = satırlar
End Sub

bu kodu düzeltebilirmisiniz
 
bu işi tek bir fonksiyon ile yapılması mümkünmü acaba

topla.çarpım ile olabilir gibi geliyor yada dizin formülleri ile
 
Ben fonksiyon ile çözmek istediğiniz yamışsınız öyle çözdüm konuyu
Makro ile istiyorsanız bulunan satır numaraları hangi sütuna yazdırılacak?:cool:
 
sayfa2'de a sütun'una yazdırıcam
 
sayfa2'de a sütun'una yazdırıcam
:cool:
Kod:
Sub bul()
Range("A:A").ClearContents
For n = 1 To 1000
For k = 1 To 20
If Cells(n, k).Value <> "" Then
sat = sat + 1
Sheets("Sayfa2").Cells(sat, "A").Value = Cells(n, k).Row
Exit For
End If
Next
Next
MsgBox "İşlem Tamam"
End Sub
 
:cool:
Kod:
Sub bul()
Range("A:A").ClearContents
For n = 1 To 1000
For k = 1 To 20
If Cells(n, k).Value <> "" Then
sat = sat + 1
Sheets("Sayfa2").Cells(sat, "A").Value = Cells(n, k).Row
Exit For
End If
Next
Next
MsgBox "İşlem Tamam"
End Sub

elinize sağlık

Range("A:A").ClearContents bu kısmı yanlışlıkla eklediniz galiba
 
Selamlar,

Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub DOLU_HÜCRELERİN_SATIR_NOLARI()
    Dim Satır As Long
    Dim Hücre As Range
    Satır = 1
    On Error GoTo Son
    Sheets("Sayfa2").Columns(1).ClearContents
    For Each Hücre In Cells.SpecialCells(xlCellTypeConstants, 23)
    Sheets("Sayfa2").Cells(Satır, 1) = Hücre.Row
    Satır = Satır + 1
    Next
    For Each Hücre In Cells.SpecialCells(xlCellTypeFormulas, 23)
    Sheets("Sayfa2").Cells(Satır, 1) = Hücre.Row
    Satır = Satır + 1
    Next
Son:
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Geri
Üst