satırı ekranda göster

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Merhaba Arkadaşlar , listbox1 nesnesinde aradığımız ama ekranda görünmeyen bir verinin , örneğin deneme300 ü seçtiğimizde ekranda da görmek istiyorum . bunun için gerekli kod yardımınıza ihtiyacım var ,desteğinizi bekliyorum teşekkürler
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Deneyiniz.
Kod:
Sheets("goster").Range("A" & bul).Select
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
ömer bey çalışma dosyada listbox2 ye tıkladığımda 2 proplemle karşı karşıyayım
1 . yukardaki kodu daha önceden uyarladığım halde ekranı göstermiyor
2. listbox2 ye çift tıklayınca tıkladığım veri deki seçim değişiyor başka bir veri seçiyor
dün den beri bu sıkıntıyla uğraşıyorum ama çözemedim , desteğiniz çok önemli
saygılarımla
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
1) Application.ScreenUpdating = False kodu görüntüyü engelliyor.

2)
"gbakiyedegistir" Kodları tetikleme yaptığı için değişiyor. Bu kodlarda istenen nedir?
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
çok teşekkürler ömer bey,
1 sorunun cavabını anladım . hızı düşürmüş olacak ama iptal ederim artık satırı ekranda görmek için,
2 sorunun cevabında gbakiyedegistir kodu önemli şöyleki
müşteri geliyor bir işlem yapılıyor ve o işlem tek satırda kaydediliyor alacak borç vs ama bakiye kalmış olabiliyor
Aynı müşteri için daha sonra yeni bir işlem yapılıyor bu yeni işlemdede bakiye vs kalabiliyor
sonuçta daha önce gelmiş olan bu müşterinin genelbakiyesini bulmak için oluşturduğum bir kod dur
eğer bu kodu iptal edersem benim projem de iptal olur .
Dolayısıyla öneriniz benim için kıymetli
saygılar
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
ömer bey ekte gönderdiğim dosyada izah etmeye çalıştım . gbakiyedegistir kodunu iptal edip tüm dosya için tek bir seferde makro yazabilirmisiniz
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodları frmhububatal formunun kod bölümüne kopyalayın.
Kod:
Private Sub genel_topla()

    Dim hba As Worksheet, son As Long, adr1 As String, adr2 As String, olct As String

    Set hba = Sheets("hububat_alis")

    son = Cells(Rows.Count, "A").End(xlUp).Row

    adr1 = hba.Range("A2:A" & son).Address(external:=True)
    adr2 = hba.Range("AA2:AA" & son).Address(external:=True)
    olct = hba.Range("A2").Address(0, 0, external:=True)

    hba.Range("AB2:AB" & son) = "=SUMIF(" & adr1 & "," & olct & "," & adr2 & ")"
    hba.Range("AB2:AB" & son) = hba.Range("AB2:AB" & son).Value

End Sub

Daha sonra formu kapatmak için kullandığınız "cmdkapat_Click" kodlarının;

Unload Me satırından önce aşağıdaki satırı ilave ederek deneyiniz.

Call genel_topla


Not: ListBox2_DblClick kodlarında kullandığınız Call gbakiyedegistir kodlarını pasifleştirirsiniz.
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Desteğiniz için çok teşekkürler ,elinize sağlık , sayenizde sorun çözüldü .
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Sub gbakiyedegistirmz()

Dim i As Long
Dim hba As Worksheet
Dim geneltoplam As Long
Dim m As Long

Set hba = Sheets("hububat_alis")

For i = 2 To hba.Cells(Rows.Count, "A").End(xlUp).Row
geneltoplam = WorksheetFunction.SumIf(Sheets("hububat_alis").Range("a2:a" & Sheets("hububat_alis").Cells(Rows.Count, 1).End(xlUp).Row), hba.Cells(i, 1), Sheets("hububat_alis").Range("aa2:aa" & Sheets("hububat_alis").Cells(Rows.Count, 1).End(xlUp).Row))

For m = 2 To hba.Cells(Rows.Count, "A").End(xlUp).Row
If hba.Cells(m, 1) = hba.Cells(i, 1) Then
hba.Cells(m, 28) = geneltoplam

End If
Next m
Next i


Set hba = Nothing
End Sub

ömer bey siz yukardaki kodu vermeden az evvel ben de bu kodu yazmış ve sonuç almıştım .
özellikle sorunu bulamamıştım onları sayenizde bulmuş olduk ama sizin gönderdiğiniz son kodu da denedim fakat genel toplam yapmadı
eğer vaktiniz varsa sizin kodu da kullanmak isterim yok ise zahmet etmeyiniz , yukardaki kod işimi gördü , çok teşekkürler
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Haklısınız, ölçüt adresini de sabitlemişim.

olct = hba.Range("A2").Address(external:=True)

satırını aşağıdaki gibi değiştirip deneyiniz.

olct = hba.Range("A2").Address(0, 0, external:=True)


Not1: #7 numaralı mesajı bu şekilde düzelttim.
Not2: Call kullanacağınız yere göre, Application.Calculation = xlCalculationAutomatic satırını Call genel_topla satırından önce eklersiniz. Yada bu genel_topla kodlarının içinde başa ekleyebilirsiniz.
 
Üst