MAKRO İLE SATIR NUMARASI BULMA

Katılım
10 Şubat 2014
Mesajlar
7
Excel Vers. ve Dili
2007 access
Merhabalar,

Makro'nun içerisinde yazılan değerin satır numarasını bulmak istiyorum.

Aslında yapmak istediğim döngüler yaratmak.

örneğin.
B2 hücresinde başlığım var.

A2 1.1
.
.
A10 1.9

B11 hücresinde başlığım var
A12 2.1
.
.
A26 2.15
değeri alıyor.

Amaç;
makro ile 1.1 i aratıp 2 değerini almak
sonra en 1. ile başlayan en son hücreye gidip 1.9 değerini aratıp 10 satır numarası değerini almak.

ardından 2.1 i aratıp 12 değerini almak
sonra en son 2. ile başlayan en son hücreye gidip 2.15 değerini aratıp 26 satır numarasını değerini almak.

for 1 to 2
for (1.1 satır değeri) to (1.9 satır değeri)
işlemxxxx

döngü tamamlanınca

for (2.1 satır değeri) to (2.15 satır değeri)


yardımlarınızı bekliyorum.


https://we.tl/t-TJhRMuUsjl excel dosyası linktedir.
 
Son düzenleme:
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Aranan değerin nerde yazılaçağını anlamadım.İnputbox ile bir çözüm yaptım.Sorunuzu çözer mi bilmiyorum.Kodu bir modüle kopyalayarak deneyiniz.
Kod:
Sub Ara()
    Dim s1 As Worksheet
    Dim Adres As String: Dim Aranan As String
   Set s1 = Sheets("Sayfa1")
    son = s1.Cells(65336, "A").End(3).Row
    Aranan = InputBox("Aranan değeri giriniz.", "Aranan değer")
   say = WorksheetFunction.CountIf(s1.Range("A1:A" & son), Aranan)
  If say = 0 Then GoTo Yok
    Adres = s1.Range("A1:A" & son).Find(What:=Aranan, LookAt:=xlWhole).Address
MsgBox "Aradığınız değer '" & Adres & "' hücresinde bulundu."
    Exit Sub
Yok:
    MsgBox "Aradığınız değer bulunamadı."
End Sub
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,514
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Alternatif olarak bende aşağıdaki çalışmayı ekliyorum.

Excel dosyamız aşağıdaki şekilde dizaynlanmış olsun. A sütununda rakamlarımız bulunsun.
Bul Düğmesi tıklandığında A sütunundaki değerler ayrıştırılacak, küçükten büyüğe sıralanacak ve ekrandaki gibi sonuçlar listelenecektir.
İlgili dosyada ek' tedir.
Selamlar...

1551094434534.png

Bul düğmesine eklenecek makro kodu
Kod:
Sub bul()
'25.02.2019  14:17

Dim i, metin, dizi()

sona = Cells(Rows.Count, 1).End(3).Row

ReDim dizi(sona)

Range(Cells(3, 3), Cells(65500, 5)).ClearContents

For i = 1 To sona

    For j = 1 To sayy1

        If dizi(j) = Int(Cells(i, 1)) Then GoTo uç1

    Next

    sayy1 = sayy1 + 1
    dizi(sayy1) = Int(Cells(i, 1))

uç1:

Next

For i = 1 To sayy1
    For j = 1 To sayy1

        If dizi(i) < dizi(j) Then
        
            bos = dizi(i)
            dizi(i) = dizi(j)
            dizi(j) = bos
    
        End If
    

    Next
Next


For i = 1 To sayy1

    Cells(i + 2, 3) = dizi(i)

Next

sonc = Cells(Rows.Count, 3).End(3).Row

For i = 3 To sonc

    For ii = 1 To sona

        If Int(Cells(i, 3)) = Int(Cells(ii, 1)) Then Cells(i, 4) = ii: GoTo uç2
    
    Next

uç2:

    For ii = sona To 1 Step -1

        If Int(Cells(i, 3)) = Int(Cells(ii, 1)) Then Cells(i, 5) = ii: GoTo uç3
    
    Next

uç3:

Next

End Sub
 

Ekli dosyalar

Son düzenleme:
Katılım
26 Aralık 2008
Mesajlar
1,136
Excel Vers. ve Dili
EXCEL 2016 TÜRKÇE
Altın Üyelik Bitiş Tarihi
23-02-2025
Merhaba arkadaşlar bu makroyu 2 koşula göre bulabilirmiyiz örneğin A kolonuna kalecik H kolonuna 10 yazan değer hangi satırda olduğunu bulmak
 
Katılım
14 Eylül 2018
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
14-09-2020
Boş Bir Modüle Bu Fonksiyonu Ekleyin.
Kod:
Function StrNoYaz(ByVal aranan As String, ByVal AramaAlani As Range, ByVal KacSutun As Integer, Optional ByVal Kacinci As Variant) As String
On Error Resume Next
Dim Metin As String, Veri As Variant, i As Long

If aranan = "" Then Exit Function
Veri = AramaAlani.Value2
For i = 1 To UBound(Veri)

    If CStr(Veri(i, KacSutun)) = aranan Then
     Metin = Metin & i & ";"
     son = son + 1
    End If
Next i
If Kacinci = "" Then Kacinci = 1
Dizi = Split(Metin, ";")
If Kacinci = 0 Then
StrNoYaz = Metin
ElseIf Kacinci = "s" Then

StrNoYaz = Dizi(0) & " " & Dizi(son - 1)
Else

    StrNoYaz = Dizi(Kacinci - 1)
    End If
End Function
 
Üst