Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 30-01-2017, 12:26   #1
excel12312
Altın Üye
 
Giriş: 06/02/2014
Şehir: İstanbul
Mesaj: 23
Excel Vers. ve Dili:
excel 2010
Varsayılan Listede seçilenleri topluca başka sayfada yazdırma

Herkese iyi günler iyi çalışmalar.

Yapmak istediğim örnek çalışmada göreceğiniz üzere ürün kalemlerini tek tek ekle makrosu ile eklemek yerine tüm istenen kalmelerin adet ve metrajlarını belirledikten sonra "tek bir " ekle butonu ile diğer sayfaya yazdırmak.

Yardımlarınızı bekliyorum. Şimdiden teşekkürler.
Eklenmiş Dosyalar
Dosya Türü: xlsm ÖRNEK ÇALIŞMA.xlsm (31.4 KB, 13 Görüntülenme)
excel12312 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2017, 14:55   #2
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,316
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Merhaba.

-- Belgenizdeki ilk EKLE düğmesi (CommandButton2) ve TEMİZLE (CommandButton1) düğmesi kalsın.
-- Varsa diğer diğer düğmeleri silin.
-- Belgedeki CommandButton1_Click kodu dışındaki kodları silin ve onların yerine aşağıdaki kodları yapıştırın.
-- Birinci EKLE düğmesini tablo dışına alıp, TEMİZLE düğmesi gibi konumlandırın.
.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub EKLE()
Set a = Sheets("A"): Set b = Sheets("B")
For satır = 5 To a.[B65536].End(3).Row
    If a.Cells(satır, 2) <> "" And a.Cells(satır, 3) <> "" And a.Cells(satır, 4) _
        <> "" And a.Cells(satır, 5) <> "" And a.Cells(satır, 6) <> "" Then
        bsat = b.[C65536].End(3).Row + 1
            For sutun = 1 To 6
                b.Cells(bsat, sutun + 1) = a.Cells(satır, sutun)
            Next
    End If
Next
End Sub

Private Sub CommandButton2_Click()
Call EKLE
MsgBox "İşlem tamamlandı...", vbInformation, "...:: Ö. BARAN ::..."
End Sub
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2017, 15:28   #3
excel12312
Altın Üye
 
Giriş: 06/02/2014
Şehir: İstanbul
Mesaj: 23
Excel Vers. ve Dili:
excel 2010
Varsayılan

Elinize sağlık çok güzel olmuş fakat tek sorun bazı ürün kalemleri sadece adet olarak gözükmeli slikon vs.. gibi fakat program sadece adet ve metraj olanları yazdırıyor. Bunu nasıl çözebiliriz ?
Teşekkürler.
excel12312 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2017, 15:42   #4
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,316
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Tekrar merhaba.

F sütunu boş olanları da aktarmak için,
(buna göre B, C, D, E sütunu dolu olanlar aktarılacak)
önceki cevabımda kırmızı renklendirdiğim kısmı silmeniz yeterli olur.
Sayfayı yenileyerek önceki cevabımı kontrol edin.

Başka bir sayfada/alanda;
-- sadece MİKTAR yazılması yeterli olan ürün kodları listesi,
-- hem MİKTAR hem ÖLÇÜ yazılması gereken ürün kodları listesi
oluşturursanız, ÖLÇÜ yazılması gerektiği halde yazılmamışsa bunun aktarılması engellenebilir.
.
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2017, 22:12   #5
excel12312
Altın Üye
 
Giriş: 06/02/2014
Şehir: İstanbul
Mesaj: 23
Excel Vers. ve Dili:
excel 2010
Varsayılan

Selamlar,
harika, tam istediğim gibi oldu. Tekrardan çok teşekkürler iyi çalışmalar.
excel12312 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-01-2017, 01:51   #6
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,316
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Alıntı:
excel12312 tarafından gönderildi Mesajı Görüntüle
Selamlar,
harika, tam istediğim gibi oldu. Tekrardan çok teşekkürler iyi çalışmalar.
Kolay gelsin.
.
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 01-02-2017, 13:04   #7
excel12312
Altın Üye
 
Giriş: 06/02/2014
Şehir: İstanbul
Mesaj: 23
Excel Vers. ve Dili:
excel 2010
Varsayılan

Tekrardan selamlar ve iyi çalışmalar. Bir sorum daha olacaktı aynı konu ile alakalı ilgilenme fırsatınız olur ise. Eklediğim dosya üzerinde "A" sayfasında EKLE butonuna basınca tüm seçilenleri sayfa "B" deki genel tabloya atıyor. Bunun yanında eklenecek kalemlerden sacede "Epoksi" leri tablo 2'ye "Koli" leri ise tablo 3'te yazdırmamız mümkün müdür aynı makroda ?
Teşekkürler iyi çalışmalar.
Eklenmiş Dosyalar
Dosya Türü: xlsm ÖRNEK ÇALIŞMA.xlsm (30.2 KB, 4 Görüntülenme)
excel12312 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 01-02-2017, 15:14   #8
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,316
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Tekrar merhaba.

EKLE adlı kod'u aşağıdakiyle değiştirince sanırım istediğiniz gerçekleşiyor.
.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub EKLE()
Set a = Sheets("A"): Set b = Sheets("B"): Set s1 = Sheets("Sayfa1")
Set wf = Application.WorksheetFunction
For satır = 5 To a.[B65536].End(3).Row
    If a.Cells(satır, 2) <> "" And a.Cells(satır, 3) <> "" And a.Cells(satır, 4) _
        <> "" And a.Cells(satır, 5) <> "" Then
        b1sat = b.[C65536].End(3).Row + 1
        t2sat = b.[L65536].End(3).Row + 1
        s1sat = s1.[B65536].End(3).Row + 1
        For sutun = 2 To 6
            b.Cells(b1sat, sutun + 1) = Trim(a.Cells(satır, sutun))
            If Trim(a.Cells(satır, 3)) = "Epoksi" And wf.CountIf(b.Range("L7:O7"), a.Cells(4, sutun)) > 0 Then
                bsut = wf.Match(a.Cells(4, sutun), b.Range("L7:O7"), 0) + 11
                b.Cells(t2sat, bsut) = Trim(a.Cells(satır, sutun))
            End If
            
            If Trim(a.Cells(satır, 3)) = "Koli" And wf.CountIf(s1.Range("B5:E5"), a.Cells(4, sutun)) > 0 Then
                s1sut = wf.Match(a.Cells(4, sutun), s1.Range("B5:E5"), 0) + 1
                s1.Cells(s1sat, s1sut) = Trim(a.Cells(satır, sutun))
            End If
        Next
    End If
Next
MsgBox "İşlem tamamlandı...", vbInformation, "..:: O.BARAN ::.."
End Sub
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 01-02-2017, 17:00   #9
excel12312
Altın Üye
 
Giriş: 06/02/2014
Şehir: İstanbul
Mesaj: 23
Excel Vers. ve Dili:
excel 2010
Varsayılan

Teşşekkürler cevap için, bir yer dikkatimi çekti sadece tablo 1 ve tablo 2 de Ürün isimlerinin gelmesi gereken yerlere tedarikçileri yazıyor. Nasıl düzeltebiliriz bunu ?

teşekkürler.
excel12312 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2017, 00:33   #10
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,316
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Tekrar merhaba.

8 numaralı cevapta verdiğim kod'u güncelledim. Sayfayı yenileyerek kontrol edin.

Önemli;tablo başlıkları kriter olarak kullanılıyor.
B sayfasındaki iki tablo ve Sayfa1'deki tablo başlıklarının,
A sayfasındaki başlıklarla birebir aynı olmasını sağladıktan sonra yeni kod'u çalıştırın.
.
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 02:52


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon- Çorlu Dans- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden