• DİKKAT

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

sayfalar arası eğer ile bir nevi filttre

Katılım
20 Temmuz 2011
Mesajlar
4
Excel Vers. ve Dili
2010
ana sayfada verilen veriler ülke ismi almış odalara dağıtılmak isteniyor. eğer formülü ile yapmaya çalıştığımda sıralı olmuyor çünkü basit formül haliyle. yaklaşık 50 oda isimli yeni sayfa daha belirleyip yüzlerce müşteri girişi yapacağım. bunların sıralı olarak dağılmasını ve ad, soyad ,tutar gibi özelliklerininde ilgili sayfaya aktarımını formül veya varsa farklı bir yöntemle nasıl yapabilirim.
az zamanım var lütfen yardım edin:( teşekkürler
 

Ekli dosyalar

ana sayfada verilen veriler ülke ismi almış odalara dağıtılmak isteniyor. eğer formülü ile yapmaya çalıştığımda sıralı olmuyor çünkü basit formül haliyle. yaklaşık 50 oda isimli yeni sayfa daha belirleyip yüzlerce müşteri girişi yapacağım. bunların sıralı olarak dağılmasını ve ad, soyad ,tutar gibi özelliklerininde ilgili sayfaya aktarımını formül veya varsa farklı bir yöntemle nasıl yapabilirim.
az zamanım var lütfen yardım edin:( teşekkürler

merhaba
burayı inceleyin yapamazsanız makro yazalım
 
türkçe excel kullandığım için yapmam gereknleri çözemedim açıkçası. 2003 ve 2007 formatıda çok farklı olduğundan çok amatör kaldım. daha basit anlatım rica edersem çok olurmuyum bilmiyorum. yardımlarınız için çok teşekkürler..
 
türkçe excel kullandığım için yapmam gereknleri çözemedim açıkçası. 2003 ve 2007 formatıda çok farklı olduğundan çok amatör kaldım. daha basit anlatım rica edersem çok olurmuyum bilmiyorum. yardımlarınız için çok teşekkürler..

formüller hangi versiyon dilini kullanırsanız ona göre çalışır. isterseniz ingilizce isterseniz türkçe kullanın bu farketmez. makro dili ise sadece ingilizcedir.

siz yapamamışsınız makro mu istiyorsunuz formül mü istiyorsunuz tam bir bilgi yok.
formül olursa aralık arttıkça dosyanızda kasılmalar olacaktır.
ayrıca odalarınız bu kadar mı daha artacak mı_?
 
maalesef sayfa sayısı bukadar değil, 40 farklı oda olacak ve veriler ana sayfaya girildiğine otomatik olarak sayfalara dağıtılacak. formül yada makro kısıtlaması yok , istediğimiz kullanabiliriz fakat ben az da olsa formülden anlıyorum ama makro yazmayı,oluşturmayı, kullanmayı bilmiyorum:( daha önce hiç kullanmadım. çok sağolun.
 
maalesef sayfa sayısı bukadar değil, 40 farklı oda olacak ve veriler ana sayfaya girildiğine otomatik olarak sayfalara dağıtılacak. formül yada makro kısıtlaması yok , istediğimiz kullanabiliriz fakat ben az da olsa formülden anlıyorum ama makro yazmayı,oluşturmayı, kullanmayı bilmiyorum:( daha önce hiç kullanmadım. çok sağolun.

merhaba
kitabınızın kod bölümünde bulunan Thisworkbook bölümüne
Kod:
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name <> "ANA SAYFA" Then
Dim ts, kaplan, trabzonspor
trabzonspor = MsgBox(ActiveSheet.Name & " Verilerini Aktarıyorum", vbYesNo, "Onay")
If trabzonspor = vbNo Then Exit Sub
Application.DisplayAlerts = False
Range("A2:E65536").ClearContents
kaplan = 2
For ts = 2 To Sheets("ANA SAYFA").Cells(65536, "A").End(xlUp).Row
If Sheets("ANA SAYFA").Cells(ts, "C") = ActiveSheet.Name Then
Cells(kaplan, "A") = Sheets("ANA SAYFA").Cells(ts, "A")
Cells(kaplan, "B") = Sheets("ANA SAYFA").Cells(ts, "B")
Cells(kaplan, "C") = Sheets("ANA SAYFA").Cells(ts, "C")
Cells(kaplan, "D") = Sheets("ANA SAYFA").Cells(ts, "D")
Cells(kaplan, "E") = Sheets("ANA SAYFA").Cells(ts, "E")
kaplan = kaplan + 1
End If
Next
Application.DisplayAlerts = True
MsgBox ActiveSheet.Name & " Verilerini Aktardım", vbInformation, "Bitiş"
End If
End Sub
bu kodu kopyalayın ve sayfalar arasında gezin.
Bu kod yeni açacağınız sayfalarda ( odalarda ) geçerli olacaktır.
dosyanızı kayıt yaparken lütfen makro içerebilen dosya şeklinde kayıt yapınız
 
Merhaba,

Alternatif olsun.

Kod:
Sub Dagit()
    On Error Resume Next
    Dim i       As Long, _
        j       As Long, _
        Sayfa   As String, _
        sa      As Worksheet
    
    Set sa = Sheets("ANA SAYFA")
    sa.Select
    
    Application.ScreenUpdating = False
    
    For i = 2 To Cells(Rows.Count, "A").End(3).Row
    
        Sayfa = Cells(i, "C")
        
        If Not SayfaVarMi(Sayfa) Then
            Sheets.Add After:=Worksheets(Worksheets.Count)
            ActiveSheet.Name = Sayfa
            sa.Select
        End If
        
        j = 0
        j = Sheets(Sayfa).Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
            
        With Sheets(Sayfa)
            If j = 0 Then
                j = 2
                .Cells(1, "A") = "ADI"
                .Cells(1, "B") = "SOYADI"
                .Cells(1, "C") = "ÖDEME ŞEKLİ"
                .Cells(1, "D") = "TUTAR"
                .Range("A1:D1").Font.Bold = True
            End If
                
            .Cells(j, "A") = sa.Cells(i, "A")
            .Cells(j, "B") = sa.Cells(i, "B")
            .Cells(j, "C") = sa.Cells(i, "D")
            .Cells(j, "D") = sa.Cells(i, "E")
        End With
    Next i
    
    MsgBox "Veriler Sayfalara Aktarılmıştır.....", vbInformation, "N. YEŞERTENER -->www.excel.web.tr"
    Range("A2:E" & i).ClearContents
    
    Application.ScreenUpdating = True
    
End Sub

Kod:
Function SayfaVarMi(SayfaAdi As String) As Boolean
    On Error Resume Next
    SayfaVarMi = CBool(Len(Worksheets(SayfaAdi).Name) > 0)
End Function
 

Ekli dosyalar

Geri
Üst