Lİsteden BeŞlİ SeÇenek İle ÇaĞirma

Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Acİl Yardim, LÜtfen…..
Onay Belgesİ Sayfasindan Kayit Numarasini SeÇİnce,onay Belgesİ Sayfasinda D7 HÜcresİne O Numaranin En Son MÜracaat EttİĞİ Tarİhİ
ÇaĞirtmak İstİyorum.
Bu Sorunu Nasil ÇÖzebİlİrİz.
Örnek Dosya Ektedİr. Yardimlarinizi Beklİyorum....
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
1. İŞLEM TARİHİ tarihi gibi girilen kısmı 1 nolu kayıt.
2. İŞLEM TARİHİ tarihi gibi girilen kısmı 2 nolu kayıt gibi yaptığınız düşündüm.

O nedenle yaptığınız formatı bozmadan

=EĞER(SAĞDAN(J1;6)="TARİHİ";ARA(9,99999999999999E+307;--SOLDAN(J1;SATIR($A$1:$A$1024)));"")

ile metin içindeki kayıt tarihlerini aldırdım.

=EĞER(J2="";"";MAK(J4:J16)) ile o tarihdeki en büyük değeri dolayısıyla sizin istemiş olduğunuz son tarihe gelmiş oluyor.

Liste adlı sayfanızın C sütunundada toplu olarak gösterdim.

Onay Belgesi sayfanızada bu C sütunundaki verileri Düşeyara ile aldırdım.

Umarım ekteki gibi birşey istiyorsunuzdur.
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Benim sorunumu çözen bir çalışma olmamış.
Liste sayfasında bulunan kayıt numarasının bulunduğu satırda bulunan en büyük tarihi, "ONAY BELGESİ" sayfasında bulunan "D7" hücresine yazdırmak istiyorum.
Bu doğrultuda nasıl bir formül önerirsiniz?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Makrolu çözümü .:cool:
Kod:
Sub Açılan3_Değiştir()
Dim k As Range, sut As Byte
Set k = Sheets("LİSTE").Range("B2:B65536").Find(Range("I5").Value, , xlValues, xlWhole)
sut = Sheets("LİSTE").Cells(k.Row, 256).End(xlToLeft).Column
Range("D7").Value = Sheets("LİSTE").Cells(k.Row, sut).Value
End Sub
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Makro İle Yapinca Bİr DefaliĞina DoĞru ÇaliŞiyor. Bİrden Fazla Gİrdİkten Sonra Otomatİk Gelmİyor.
FormÜl İle Bu İŞİ Yapamazmiyiz?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Makro İle Yapinca Bİr DefaliĞina DoĞru ÇaliŞiyor. Bİrden Fazla Gİrdİkten Sonra Otomatİk Gelmİyor.
FormÜl İle Bu İŞİ Yapamazmiyiz?
Öyle şey olurmu hiç.
Bir defa doğru çalışıp ondan sonra yanlış çalışması.
Ya hep yanlış çalışır yada hep doğru çalışır.
Bir defa doğru çalışıyorsa hep doğru çalışır.
Çalışmayan dosyayı yollarmasınız ben bakayım.
Bende şimdi merak ettim.:cool:
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Dosya zatensizden gelen.
Örnek olarak aynı kayıt numarasındaki hücrelere bir kaç tarih girin sizde farkına varacaksınız.
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Yinede teşekkür ederim uğraştığınız için...
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosya zatensizden gelen.
Örnek olarak aynı kayıt numarasındaki hücrelere bir kaç tarih girin sizde farkına varacaksınız.
Bunu anlamadım.
Kayıt numaraları mükerrermi?
Eğer öyleyse benim yaptığım kodlar sadece ilk kaydı verir.:cool:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Gerekli düzenlemeyi yaptım.
Dosyanız ekte.:cool:
Kod:
Sub Açılan3_Değiştir()
Dim k As Range, sut As Byte, ilk As String, tarih As Date
On Error Resume Next
Range("D7").Value = ""
Set k = Sheets("LİSTE").Range("B2:B65536").Find(Range("I5").Value, , xlValues, xlWhole, , 1)
    If Not k Is Nothing Then
        ilk = k.Address
        Do
            sut = Sheets("LİSTE").Cells(k.Row, 256).End(xlToLeft).Column
            If Sheets("LİSTE").Cells(k.Row, sut) > tarih Then
                tarih = Sheets("LİSTE").Cells(k.Row, sut).Value
            End If
            Set k = Sheets("LİSTE").Range("B2:B65536").FindNext(k)
        Loop While k.Address <> ilk And Not k Is Nothing
    Range("D7").Value = tarih
    End If
    
End Sub
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Te&#350;ekk&#220;r Eder&#304;m G&#220;zel B&#304;r &#199;ali&#350;ma Olmu&#350;.
S&#304;zden B&#304;r R&#304;cam Daha Olacak:
Pek&#304; Bu Makroya Ek Olarak En B&#220;y&#220;k Tar&#304;he Denk Gelen A&#199;iklamayi Onay Belges&#304; Sayfasinda D15 H&#220;cres&#304;ne Yazdirab&#304;l&#304;rm&#304;y&#304;z. (en B&#220;y&#220;k Tar&#304;h "2. &#304;&#350;lem Ba&#350;li&#286;i" Altindaysa "2. &#304;&#350;lem &#304;&#199;&#304;n A&#199;iklama" Ba&#350;li&#286;inda Bulunan A&#199;iklamayi Onay Belges&#304; Sayasinda D15 H&#220;cres&#304;ne Yazdirab&#304;l&#304;rm&#304;y&#304;z)
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
TeŞekkÜr Ederİm GÜzel Bİr ÇaliŞma OlmuŞ.
Sİzden Bİr Rİcam Daha Olacak:
Pekİ Bu Makroya Ek Olarak En BÜyÜk Tarİhe Denk Gelen AÇiklamayi Onay Belgesİ Sayfasinda D15 HÜcresİne Yazdirabİlİrmİyİz. (en BÜyÜk Tarİh "2. İŞlem BaŞliĞi" Altindaysa "2. İŞlem İÇİn AÇiklama" BaŞliĞinda Bulunan AÇiklamayi Onay Belgesİ Sayasinda D15 HÜcresİne Yazdirabİlİrmİyİz)
Dosyanız ekte.:cool:
Kod:
Sub Açılan3_Değiştir()
Dim k As Range, sut As Byte, ilk As String, tarih As Date
Dim aciklama As String
On Error Resume Next
Range("D7").Value = ""
Range("D15").Value = ""
Set k = Sheets("LİSTE").Range("B2:B65536").Find(Range("I5").Value, , xlValues, xlWhole, , 1)
    If Not k Is Nothing Then
        ilk = k.Address
        Do
            For sut = 10 To 18 Step 2
                If Sheets("LİSTE").Cells(k.Row, sut) > tarih Then
                    tarih = Sheets("LİSTE").Cells(k.Row, sut).Value
                    aciklama = Sheets("LİSTE").Cells(k.Row, sut + 1).Value
                End If
            Next sut
            Set k = Sheets("LİSTE").Range("B2:B65536").FindNext(k)
        Loop While k.Address <> ilk And Not k Is Nothing
    Range("D7").Value = tarih
    Range("D15").Value = aciklama
    End If
    
End Sub
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Sanirim Problem Var.
G&#214;nderd&#304;&#286;&#304;n&#304;z Dosyada Kayit Numarasinda M&#220;kerrer Rakamlar Oldu&#286;undan Yazilan A&#199;iklamalari Get&#304;rm&#304;yor Sanirim.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sanirim Problem Var.
GÖnderdİĞİnİz Dosyada Kayit Numarasinda MÜkerrer Rakamlar OlduĞundan Yazilan AÇiklamalari Getİrmİyor Sanirim.
Ben 3 numaralı kayıttta denedim getiriyordu.
Problem yoktu.
Yeni yolladığım dosyay baktınızmı.
Önceki dosyada göstermiyordu.
Ama yeni yolladığım dosyada gerekl idüzenlemeyi yaptım.Şimdi gösteriyor.Göstermiyorsa bana izah edin ne yaptığınızda göstermiyor.
Ama en son yoladığım dosyay bakın.:cool:
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Sorunlu Dosya

O7 HÜcresİne AÇiklama Yazdim. Bu AÇiklamayi GÖstermİyor.
Ayrica B SÜtunundakİ Sayilar Sirali DeĞİl. Ektekİ Dosyaya Bakarmisiniz
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
O7 hücresindeki açıklamayı göstermememsi gayet normal.
Çünkü solundaki hücrede tarih yok.
en büyük tarihi bulduğunda Kodlar sağ tarfındaki açıklmasını gösteriyor.
O7 hücresine ait tarih en büyük tarih olmadığı için, ki zaten hiç bir değer yok o7 hücresindeki tarihi göstermiyor.
Çünkü bunu siz böyle istemiştiniz.
En büyük tarihi bulduğu hücrenin yanındaki açıklamasını d17 hücresşne yazısın demiştiniz.Yoksa ben yanılıyormuyum:
Yalnız aşğıdaki kodda kırmızı satırı değiştiriniz.:cool:
Kod:
Sub Açılan3_Değiştir()
Dim k As Range, sut As Byte, ilk As String, tarih As Date
Dim aciklama As String
On Error Resume Next
Range("D7").Value = ""
Range("D15").Value = ""
Set k = Sheets("LİSTE").Range("B2:B65536").Find(Range("I5").Value, , xlValues, xlWhole, , 1)
    If Not k Is Nothing Then
        ilk = k.Address
        Do
            For sut = 10 To 18 Step 2
                If Sheets("LİSTE").Cells(k.Row, sut) [B][COLOR="Red"][SIZE="4"]=>[/SIZE][/COLOR][/B] tarih Then
                    tarih = Sheets("LİSTE").Cells(k.Row, sut).Value
                    aciklama = Sheets("LİSTE").Cells(k.Row, sut + 1).Value
                End If
            Next sut
            Set k = Sheets("LİSTE").Range("B2:B65536").FindNext(k)
        Loop While k.Address <> ilk And Not k Is Nothing
    Range("D7").Value = tarih
    Range("D15").Value = aciklama
    End If
    
End Sub
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
En B&#220;y&#220;k Tar&#304;he A&#304;t A&#199;iklamayi Yazmiyor Ama...
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
&#214;rnek Dosya G&#214;ndereb&#304;l&#304;rm&#304;s&#304;n&#304;z?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosya ekte.
3 numaralı kayıtta en büyük hücrenin açıklamasını yazıyor.:cool:
 
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Emekler&#304;n&#304;z &#304;&#199;&#304;n Te&#350;ekk&#220;r Eder&#304;m.
S&#304;ze M&#304;nnettarim...
&#304;y&#304; &#199;ali&#350;malar D&#304;ler&#304;m...
 
Üst