Verileri ilgili sayfaya aktarma

Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Yine bu formdaki yardımlarla oluşturmuş olduğum dosyamda kullandığım
{=EĞER(SATIRSAY(D$10:d10)>EĞERSAY(FATURA!$C$2:$C$521;$B$6);"";İNDİS(FATURA!D$2:d$521;KÜÇÜK(EĞER(FATURA!$C$2:$C$521=$B$6;SATIR(FATURA!$C$2:$C$521)-SATIR(FATURA!$C$2)+1);SATIRSAY(D$10:d10))))}
dizi formülünü makroya çevirebilirmiyiz...

İlginize şimdiden teşekkürler...
 

Ekli dosyalar

Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Arkadaşlar bir cevabı olan yok mu?
Eksik mi anlattım yoksa...
 

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

Pano sayfası B6 hücresindeki değeri, fatura sayfası C sütununda mı arayıp bulanları aktaracak?

Bu tip sorularda formülü makroya çevirme türünde değilde, sorunuzu formülü hiç karıştırmadan yeniden açıklamanızı tavsiye ederim.

.
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Merhaba;
İlginize Teşekkürler
Evet Ömer Bey doğrudur Pano sayfası B6 hücresindeki değeri, fatura sayfası C sütununda arayıp uyanları aktaracak...
 

Ö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;
İlginize Teşekkürler
Evet Ömer Bey doğrudur Pano sayfası B6 hücresindeki değeri, fatura sayfası C sütununda arayıp uyanları aktaracak...
Bu şekilde deneyin.

Kod:
Sub Bul_Aktar()
 
    Dim c As Range, sat As Long, Adr As Variant, Sf As Worksheet
 
    Set Sf = Sheets("FATURA")
 
    With Application
        .ScreenUpdating = False
        .Calculation = xlManual
    End With
    
    Sheets("PANO").Select
    Range("A10:E200").ClearContents
 
    sat = 10
    With Sf.Range("C:C")
      Set c = .Find(Range("B6"), , xlValues, xlWhole)
        If Not c Is Nothing Then
          Adr = c.Address
            Do
                Cells(sat, "A") = Sf.Cells(c.Row, "A")
                Cells(sat, "B") = Sf.Cells(c.Row, "B")
                Cells(sat, "C") = Sf.Cells(c.Row, "D")
                Cells(sat, "D") = Sf.Cells(c.Row, "E")
                Cells(sat, "E") = Sf.Cells(c.Row, "F")
                sat = sat + 1
              Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> Adr
        End If
    End With
 
    With Application
        .ScreenUpdating = True
        .Calculation = xlAutomatic
    End With
 
 End Sub
.
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Ömer Bey kodu çalıştıramadım Bir dosya olarak ekleme imkanı varmı acaba...
 

Ö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
Module kopyalayın ve modulü kapatın. Excel sayfası üzerindeylen Alt F8 basarsanız çalıştır menüsü açılır. Burada Bul_Aktar makrosunu bulup çalıştır butonuna basın.

Daha sonra dilerseniz kodları butona atarsınız.
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Pano sayfasında uygularsam oluyor
Ama ben Bayiler sayfasındaki listede yazan isimlerle çift tıkladığım zaman Pano sayfasını kopyalıyorum yani her müşteriye ayrı bir sayfa açılmış oluyor Fatura sayfasına yazmış olduğum bilgilerin otomatik olarak ilgili sayfalara aktarılmasını istiyorum...
 

Ö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
Sorunuzu formül yerine makro olarak açıklamak yerine,bu şekilde açıklamalı sorsaydınız gereksiz zaman kaybını önlemiş olurdunuz.

Gün içinde müsait zamanda çözer geri dönüş yaparım.
 

Ö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
Bu şekilde deneyin.

Kod:
Sub Sayfalara_Aktar()
 
    Dim syf As String, i As Long, sat As Long
 
    With Application
        .ScreenUpdating = False
        .Calculation = xlManual
    End With
 
    Sheets("FATURA").Select
    On Error Resume Next
 
    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> "BAYİLER" And .Name <> "FATURA" Then
                .Range("A10:E200").ClearContents
            End If
        End With
    Next i
 
    For i = 5 To Cells(Rows.Count, "C").End(xlUp).Row
        syf = Cells(i, "C")
        With Sheets(syf)
            sat = .Cells(Rows.Count, "C").End(xlUp).Row + 1
            .Cells(sat, "A") = Cells(i, "A")
            .Cells(sat, "B") = Cells(i, "B")
            .Cells(sat, "C") = Cells(i, "D")
            .Cells(sat, "D") = Cells(i, "E")
            .Cells(sat, "E") = Cells(i, "F")
        End With
    Next i
 
    MsgBox "Aktarım Tamamlandı.", , "excel.web.tr"
 
     With Application
        .ScreenUpdating = True
        .Calculation = xlAutomatic
    End With
 
End Sub
.
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Ömer Bey İlginize teşekkürler
Tam istediğim gibi olmuş...yalnız bir sorum olacak
Aktarma işlemini yaptıktan sonra fatura sayfasına yönlendiriyor. Bulunduğum sayfada kalmak için nasıl bir ekleme yapmamız gerekir.

Birde bu aktarma işlemini otomatik yapabilirmiyiz (Bu şekilde de işimi görüyor) öğrenmek açısından soruyorum...

Tekrar teşekkür ederim emeğinize sağlık.
 

Ö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
Otomatikten kastınız nedir.
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Yani kayıtları yaptıktan sonra aktar demeden...
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Ömer Bey vermiş olduğunuz kodu dosyama uyguladım Ama BAYİLER ve FATURA sayfası hariç tüm sayfalarda A10:E200 aralığını siliyor Bu işlemi sadece PANO ve kopyalanan müşteri sayfalarına nasıl uygulayabiliriz. Dosyam da ALIŞ, SATIŞ ve farklı sayfalar mevcut 50 tane kadar müşteri sayfası olacak...
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Koda nasıl bir ekleme yaparsam işlemim olur...
 

Ö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
Otomatik olacaksa silme işlemine gerek kalmayacaktır. Siz çalışmaya başlamadan ilgili sayfadaki verileri silersiniz.

Fatura sayfası F sütununa veri girişi gerçekleştikten sonra ilgili sayfaya aktarım yaptıracağım.

İstediğiniz bu sanırım.
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Evet E ya da F ikiside olur Ama ilgili sayfayı anlıyamadım...Kopyalanacak olan müşteri sayfalarını diyorsanız uğraştırır...
 

Ö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
Örneğin fatura sayfasına veri giriş yapıyoruz. F10 hücresine veriyi girdikten sonra girilen satıra C10 daki sayfa adı neyse o satır ilgili asyfaya aktarılacak.

Otomatikten kastınız bu değil mi?
 
Katılım
16 Ekim 2007
Mesajlar
166
Excel Vers. ve Dili
EXCEL 2003 TR
Ömer Bey dosyama bakabildinizmi acaba...
 
Son düzenleme:
Üst