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 13-11-2014, 09:19   #11
Emir Hüseyin Çoban
Destek Ekibi
 
Emir Hüseyin Çoban kullanıcısının avatarı
 
Giriş: 11/08/2008
Şehir: Denizli
Mesaj: 5,553
Excel Vers. ve Dili:
Office 2013 Tr - Win8 x64
Varsayılan

. . .

Next i satırının altına şu kodları ilave ederek deneyiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
    ST.Cells(sat, "C") = WorksheetFunction.Sum(ST.Range("C2:C" & sat))
    ST.Cells(sat, "D") = WorksheetFunction.Sum(ST.Range("D2:D" & sat))
. . .
__________________
.
Cüzzi Ücretlerle Sorularınıza Özel Destek Almak İçin Özel Mesaj Yazabilirsiniz...

e-mail: huseyincobann@gmail.com
Tel: 0531-285-06-15

http://www.excel.web.tr/private.php?do=newpm&u=101759

Örnek Dosya Hazırlarken Dikkat Edilmesi Gerekenler için link:
http://www.excel.web.tr/f59/rnek-dosya-hazyrlarken-dikkat-edilmesi-gerekenler-t134225.html
_

İyi Günler...

Türkçe konuşup, Excel'ce yazıyoruz!..
...:::: Diren #Excel.Web.Tr :::....


Emir Hüseyin Çoban Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2014, 09:33   #12
walabi
Altın Üye
 
Giriş: 22/09/2012
Şehir: istanbul
Mesaj: 161
Excel Vers. ve Dili:
excel 2010 excel 2013
Varsayılan

Teşşekürler Hüseyin bey,
__________________
52,5 oney ünye
walabi Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-11-2014, 09:04   #13
walabi
Altın Üye
 
Giriş: 22/09/2012
Şehir: istanbul
Mesaj: 161
Excel Vers. ve Dili:
excel 2010 excel 2013
Varsayılan

Alıntı:
Hüseyin Çoban tarafından gönderildi Mesajı Görüntüle
. . .

Açıklamasını hazırlamıştım ancak şirket bilgisayarımda kalmıştı.

Şimdi yayınlayabiliyorum.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub KOD()
    Application.ScreenUpdating = False
    ' ekran haraketlerini dondur
    
    Dim SV As Worksheet: Set SV = Sheets("Veri")
    Dim ST As Worksheet: Set ST = Sheets("Tablo")
    'sayfa isimlerine değişken atama
    
    ST.Range("A2:D" & Rows.Count).ClearContents
    'tablo sayfasını temizle
    
    sat = 2
    'tablo sayfasında başlangıç satırımız
    
    For i = 2 To SV.Cells(Rows.Count, "B").End(3).Row '(döngü)
    'veri sayfası B sütununda 2.satırdan son dolu satıra kadar kontrol başlıyor
    
        If WorksheetFunction.CountIf(SV.Range("B2:B" & i), SV.Cells(i, "B")) = 1 Then
        ' veri sayfasında B2:B2 - B2:B3 - B2:B4 diye devam ederek
        ' sırayla ürün kodlarını kontrol ediyoruz. ilk kez geçen ürün kodunu alıyoruz. (eğersay=CountIf)
        ' bu şekilde teke düşürüyoruz
        
            ST.Cells(sat, "A") = SV.Cells(i, "B")
            ' ilk önce bulunan ürün kodunu tablo sayfasına alıyoruz
            
            ST.Cells(sat, "B") = SV.Cells(i, "C")
            ' ürün ismini alıyoruz
            
            ST.Cells(sat, "C") = WorksheetFunction.SumIf(SV.Range("B:B"), SV.Cells(i, "B"), SV.Range("E:E"))
            'SumIf - Etopla Ürünün miktar toplamını aldırıyoruz
            
            ST.Cells(sat, "D") = WorksheetFunction.SumIf(SV.Range("B:B"), SV.Cells(i, "B"), SV.Range("F:F"))
            ' ürünün tutar toplamını aldırıyoruz
            
            sat = sat + 1
            ' tablo sayfasında bir sonraki üründe bir alt satıra geçmesini sağlıyoruz
            
        End If
        ' eğersay şartı bitiyor
        
    Next i
    ' döngü sonu
    
    
    Application.ScreenUpdating = True
    ' ekran haraketlerini aç
    
    MsgBox " B i t t i "
    ' uyarı
End Sub
. . .
Hüseyin Bey merhaba,

Yazmış olduğunuz kodu kendime ait bir çalışmaya uyarlamaya çalışmaktayım. Şöylesi bir çözüm bulmam gerekli. Ürün kodu ile ilgili satırlarda boş hücrelerin olduğunu varsayarsak kod bu satırları dikkate almamalı, atlamalı. Boş satırları şu hali ile dikkate almakta. Buna bir uyarlama yapabilir miyiz.
__________________
52,5 oney ünye
walabi Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-11-2014, 09:14   #14
Emir Hüseyin Çoban
Destek Ekibi
 
Emir Hüseyin Çoban kullanıcısının avatarı
 
Giriş: 11/08/2008
Şehir: Denizli
Mesaj: 5,553
Excel Vers. ve Dili:
Office 2013 Tr - Win8 x64
Varsayılan

. . .

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub KOD()
    Application.ScreenUpdating = False
    
    Dim SV As Worksheet: Set SV = Sheets("Veri")
    Dim ST As Worksheet: Set ST = Sheets("Tablo")
    
    ST.Range("A2:D" & Rows.Count).ClearContents
    
    sat = 2
    For i = 2 To SV.Cells(Rows.Count, "B").End(3).Row
        If SV.Cells(i, "B") <> "" Then
            If WorksheetFunction.CountIf(SV.Range("B2:B" & i), SV.Cells(i, "B")) = 1 Then
                ST.Cells(sat, "A") = SV.Cells(i, "B")
                ST.Cells(sat, "B") = SV.Cells(i, "C")
                ST.Cells(sat, "C") = WorksheetFunction.SumIf(SV.Range("B:B"), SV.Cells(i, "B"), SV.Range("E:E"))
                ST.Cells(sat, "D") = WorksheetFunction.SumIf(SV.Range("B:B"), SV.Cells(i, "B"), SV.Range("F:F"))
                sat = sat + 1
            End If
        End If
    Next i
    
    Application.ScreenUpdating = True
    MsgBox " B i t t i "
End Sub
. . .
__________________
.
Cüzzi Ücretlerle Sorularınıza Özel Destek Almak İçin Özel Mesaj Yazabilirsiniz...

e-mail: huseyincobann@gmail.com
Tel: 0531-285-06-15

http://www.excel.web.tr/private.php?do=newpm&u=101759

Örnek Dosya Hazırlarken Dikkat Edilmesi Gerekenler için link:
http://www.excel.web.tr/f59/rnek-dosya-hazyrlarken-dikkat-edilmesi-gerekenler-t134225.html
_

İyi Günler...

Türkçe konuşup, Excel'ce yazıyoruz!..
...:::: Diren #Excel.Web.Tr :::....


Emir Hüseyin Çoban Çevrimdışı   Alıntı Yaparak Cevapla
Eski 01-12-2014, 20:46   #15
hakan39
 
Giriş: 17/04/2012
Mesaj: 26
Excel Vers. ve Dili:
Excel 2010 Makrolar
Varsayılan

İyi Akşamlar Hüseyin bey,

Çoketopla ile girdiğim formüller yavaşlamaya yol açtı, bana bu konuda aşağıdaki çoketopla yı makro ile yazmanız mümkün müdür. Yardımlarınız için şimdiden teşekkür ederim.

=ÇOKETOPLA('DATA-1'!$I:$I;'DATA-1'!$G:$G;TABLO!$C$4;'DATA-1'!$B:$B;TABLO!$B$8;'DATA-1'!$A:$A;TABLO!$A:$A)


iyi akşamlar.
hakan39 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-03-2015, 12:27   #16
sasys
 
Giriş: 16/06/2011
Şehir: Denizli
Mesaj: 28
Excel Vers. ve Dili:
2013 Tr
Varsayılan

Merhaba Hüseyin Bey,
Yukarıdaki makro örneğinde, B sütunundan sadece bir tanesini çekmek için tablo sayfasında hücreye değer tanımlayıp bu kritere göre raporu nasıl çekebiliriz?
sasys Çevrimdışı   Alıntı Yaparak Cevapla
Eski 12-10-2017, 14:37   #17
canburak
Altın Üye
 
Giriş: 30/11/2011
Şehir: dubai
Mesaj: 64
Excel Vers. ve Dili:
turkce
Varsayılan

Alıntı:
Emir Hüseyin Çoban tarafından gönderildi Mesajı Görüntüle
. . .

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub KOD()
    Application.ScreenUpdating = False
    
    Dim SV As Worksheet: Set SV = Sheets("Veri")
    Dim ST As Worksheet: Set ST = Sheets("Tablo")
    
    ST.Range("A2:D" & Rows.Count).ClearContents
    
    sat = 2
    For i = 2 To SV.Cells(Rows.Count, "B").End(3).Row
        If SV.Cells(i, "B") <> "" Then
            If WorksheetFunction.CountIf(SV.Range("B2:B" & i), SV.Cells(i, "B")) = 1 Then
                ST.Cells(sat, "A") = SV.Cells(i, "B")
                ST.Cells(sat, "B") = SV.Cells(i, "C")
                ST.Cells(sat, "C") = WorksheetFunction.SumIf(SV.Range("B:B"), SV.Cells(i, "B"), SV.Range("E:E"))
                ST.Cells(sat, "D") = WorksheetFunction.SumIf(SV.Range("B:B"), SV.Cells(i, "B"), SV.Range("F:F"))
                sat = sat + 1
            End If
        End If
    Next i
    
    Application.ScreenUpdating = True
    MsgBox " B i t t i "
End Sub
. . .
Emir hocam ayni makroyu 2 ayri veri sayfasiyla yapa bilirmiyiz , yani 2 ci veri sayfasi var orda ayni kosulla ordaki toplaminada G:G sutununa almam lazim
canburak Çevrimdışı   Alıntı Yaparak Cevapla
Eski 12-10-2017, 14:48   #18
canburak
Altın Üye
 
Giriş: 30/11/2011
Şehir: dubai
Mesaj: 64
Excel Vers. ve Dili:
turkce
Varsayılan

ST.Cells(sat, "D") = WorksheetFunction.SumIf(SV.Range("B:B"), SV.Cells(i, "B"), SV.Range("F:F"))

kisaca bu formulden sonra SUTUNUNA VERI2 SAYFASINDA B SUTUNU TABLODAKI AA SUTUNUNA ESITSE VERI2 DEKI O VERININ TOPLAMINIDA G SUTUNUNA GETIRMESI LAZIM

ST.Cells(sat, "E") = WorksheetFunction.SumIf(SV2.Range("B:B"), SV.Cells(i, "B"), SV.Range("G:G"))
canburak Ç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 14:24


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

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- 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- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden