Soru Banka Datasını Düzenlemek

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
668
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Arkadaşlar Merhaba,

Ekteki dosyada deteylıca anlattım, Hesap kodu,Banka adı ve bakiye satırlarını sonuç sayfasına almak istiyorum. Yardımcı olabilirseniz sevinirim. Şİmdiden Teşekkürler
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,354
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Yapının aynen böyle olduğu varsayılarak aşağıdaki kodları deneyiniz.

Kod:
Sub Duzenle()

    Dim i As Long
    Dim j As Long
    
    i = 2
    j = 2
    
    Application.ScreenUpdating = False
    Sayfa2.Range("A1").CurrentRegion.Offset(1).ClearContents
    
    For i = 2 To Sayfa1.Cells(Rows.Count, "C").End(3).Row - 5 Step 5
        Sayfa2.Cells(j, "A") = Sayfa1.Cells(i, "B")
        Sayfa2.Cells(j, "B") = Sayfa1.Cells(i, "C")
        Sayfa2.Cells(j, "C") = Split(Sayfa1.Cells(i + 4, "D"), " ")(0) + 0
        j = j + 1
    Next i
    
    Application.ScreenUpdating = True
    MsgBox "Düzenleme İşlemi Bitmiştir...."
    
End Sub
 

bmutlu966

Altın Üye
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Alternatif olsun.

Kod:
Sub aktar()

Set sh = Sheets("Sheet")
Set sc = Sheets("Sonuc")

son = sh.[D65000].End(3).Row
s = 2
For t = 2 To son Step 5
    sc.Cells(s, "A").Value = sh.Cells(t, "B")
    sc.Cells(s, "B").Value = sh.Cells(t, "C")
    sc.Cells(s, "C").Value = sh.Cells(t + 4, "D")
    s = s + 1
Next

For d = 2 To son
   
    If Right(sc.Cells(d, "C"), 4) = " (B)" Then
        sc.Cells(d, "C") = Replace(sc.Cells(d, "C"), " (B)", "")
    End If
   
    If Right(sc.Cells(d, "C"), 4) = " (a)" Then
       sc.Cells(d, "C") = Replace(sc.Cells(d, "C"), " (a)", "")
        sc.Cells(d, "C") = "-" & sc.Cells(d, "C")
    End If
   
    sc.Cells(d, "C") = Replace(sc.Cells(d, "C"), ".", "")
    sc.Cells(d, "C") = Replace(sc.Cells(d, "C"), ",", ".")
   
Next

MsgBox "Islem tamam"

End Sub
 

Ekli dosyalar

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,322
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
Sayın necdet & Sayın mutlu güzel çözüm önerileriniz olmuş

Rica etsem kodların karşısına neyi nerden alıyor neden yapıyor yazma imkanınız varmı

teşekkürler & iyi çalışmalar
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,354
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sayfa2.Cells(j, "A") = Sayfa1.Cells(i, "B")

Eşittirin sağ tarafındaki sol tarafa aktarılır.
i ve j satır numaralarını belirtir.
Tırnak içinde olanların zaten sütun adı olduğu anlaşılıyor.

Ben excelde görülen sayfa adlarını değil vba da görülen sayfa indisini kullandım.
Resmi incelediğinizde Sonuç sayfasının indisi Sayfa2 oluyor.

koda baktığımızda Sayfa2.Celles(j,"A") demek Sonuç sayfasının A sütununun j ninci satırı anlamına geliyor.
 

Ekli dosyalar

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
668
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Necdet Bey,
Bmutlu966,
Çok çok teşekkür ederim. iki kodta istediğim gibi olmuş. Elinize sağlık
 

bmutlu966

Altın Üye
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Sayın necdet & Sayın mutlu güzel çözüm önerileriniz olmuş

Rica etsem kodların karşısına neyi nerden alıyor neden yapıyor yazma imkanınız varmı

teşekkürler & iyi çalışmalar
Dosya üzerine yazdım.
 

Ekli dosyalar

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,322
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
açıklamalar için ikinizide teşekkür ederim

iyi çalışmalar
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
668
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Merhaba,

Necdet Bey,
Bmutlu966,

Kodu yazmışlardı bugün alacak bakiye veren hesapların başına (-) eksi işareti gelmiyor, alacak olan hesapların başına - şareti gelmesi için ekteki dosya üzerinden düzeltmeyi yapabilirseniz sevinirim. Şimdiden Teşekkürler..
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,354
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Deneyiniz.
Kod:
Sub Duzenle()

    Dim i As Long
    Dim j As Long
   
    i = 2
    j = 2
   
    Application.ScreenUpdating = False
    Sayfa2.Range("A1").CurrentRegion.Offset(1).ClearContents
   
    For i = 2 To Sayfa1.Cells(Rows.Count, "C").End(3).Row - 5 Step 5
        Sayfa2.Cells(j, "A") = Sayfa1.Cells(i, "B")
        Sayfa2.Cells(j, "B") = Sayfa1.Cells(i, "C")
        Sayfa2.Cells(j, "C") = Split(Sayfa1.Cells(i + 4, "D"), " ")(0) + 0
        If Sayfa1.Cells(i + 4, "D") Like "*(A)" Then Sayfa2.Cells(j, "C") = Sayfa2.Cells(j, "C") * -1
        j = j + 1
    Next i
   
    Application.ScreenUpdating = True
    CreateObject("WScript.Shell").Popup "İŞLEM TAMAMDIR.....", 2
   
End Sub
 
Son düzenleme:

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
668
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Necdet Bey
Elinize Emeğinize Sağlık. Çok Teşekkür Ederim.
 
Üst