• DİKKAT

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

Soru Banka Datasını Düzenlemek

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
674
Excel Vers. ve Dili
2003 TR
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

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
 
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

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
 
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

  • Adsız.jpg
    Adsız.jpg
    47.2 KB · Görüntüleme: 6
Necdet Bey,
Bmutlu966,
Çok çok teşekkür ederim. iki kodta istediğim gibi olmuş. Elinize sağlık
 
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

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:
Necdet Bey
Elinize Emeğinize Sağlık. Çok Teşekkür Ederim.
 
Geri
Üst