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 14-12-2013, 00:57   #1
harziyan
 
harziyan kullanıcısının avatarı
 
Giriş: 13/12/2006
Şehir: Demre - ANTALYA
Mesaj: 576
Excel Vers. ve Dili:
Office 2010
Varsayılan Altalta sıralanan verileri tek satırda toplayarak birleştirme!

İyi geceler;

Ekli dosyamda "Mevcut Durum" sayfasında alt alta yazılan aynı TC numaralı şahıslara ait farklı satırlardaki değerlerin tek satırda toplanarak bileştirilmesini istiyorum.
Örnek olsun diye 2. sayfadaki tabloyu hazırladım. Normalde ayrı bir sayfaya ihtiyaç yok!

İlgilenenlere şimdiden teşekkürler...
Eklenmiş Dosyalar
Dosya Türü: xlsx Birleştirerek Topla.xlsx (11.8 KB, 14 Görüntülenme)
harziyan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-12-2013, 01:29   #2
mucit77
Destek Ekibi
 
mucit77 kullanıcısının avatarı
 
Giriş: 22/10/2012
Mesaj: 1,972
Excel Vers. ve Dili:
2007 Türkçe
Varsayılan

Kimlik No sütununa kişinin K.NO yazılınca onunla ilgili veriler gelmektedir.
Eklenmiş Dosyalar
Dosya Türü: rar Birleştirerek Topla.rar (16.3 KB, 16 Görüntülenme)
mucit77 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-12-2013, 01:50   #3
harziyan
 
harziyan kullanıcısının avatarı
 
Giriş: 13/12/2006
Şehir: Demre - ANTALYA
Mesaj: 576
Excel Vers. ve Dili:
Office 2010
Varsayılan

Mucit77 ilgilendiğin için teşekkürler. "Mevcut Durum" sayfasındaki tabloyu "Olması Gereken" sayfasındaki tablo haline getirecek bir koda ihtiyacım var.
Tablo bu şekilde birleştirildikten sonra çıktı alınacak. Yaklaşık 4000 satırda bu işlem uygulanacak ve takriben 1600 satıra düşecek!
harziyan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-12-2013, 02:16   #4
tahsinanarat
Altın Üye
 
Giriş: 14/03/2005
Şehir: İstanbul
Mesaj: 1,754
Excel Vers. ve Dili:
Ofis 2016 Türkçe
Varsayılan

Sn.harziyan; aşağıdaki kodları bir modüle yapıştırarak deneyiniz
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub AktarTopla()
Dim a, i As Long, b(), n As Long
Set s1 = Sheets("Mevcut Durum")
Set s2 = Sheets("Olması gereken")
a = s1.Range("a2:k5000").Value
ReDim b(1 To UBound(a, 1), 1 To 11)
With CreateObject("Scripting.Dictionary")
     .CompareMode = vbTextCompare
     For i = 1 To UBound(a, 1)
     Z = a(i, 4)
          If Not .exists(Z) Then
               n = n + 1
               .Add (Z), n
               b(n, 1) = a(i, 1)
               b(n, 2) = a(i, 2)
               b(n, 3) = a(i, 3)
               b(n, 4) = a(i, 4)
               b(n, 6) = a(i, 6)
               b(n, 9) = a(i, 9)
               End If
          b(.Item(Z), 5) = b(.Item(Z), 5) + a(i, 5)
          b(.Item(Z), 7) = b(.Item(Z), 7) + a(i, 7)
          b(.Item(Z), 8) = b(.Item(Z), 8) + a(i, 8)
          b(.Item(Z), 10) = b(.Item(Z), 10) + a(i, 10)
          b(.Item(Z), 11) = b(.Item(Z), 11) + a(i, 11)
         Next
End With
s2.Range("a2:k5000").ClearContents
s2.Range("a2").Resize(n, 11).Value = b
s2.Select
Sırala
Set s1 = Nothing
Set s2 = Nothing
End Sub
Sub Sırala()
Range("A2").Select
satir = 2
Do While Range("b" & satir) <> ""
DoEvents
Range("A" & satir) = satir - 1
satir = satir + 1
Loop
End Sub
__________________
Kolay Gelsin Tahsin.
tahsinanarat Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-12-2013, 09:36   #5
babelfish
 
Giriş: 14/11/2013
Şehir: istanbul
Mesaj: 30
Excel Vers. ve Dili:
Microsoft Excel 2010 - Türkçe
Varsayılan

etopla formülünü kullanabilirsiniz. aralık olarak tc kimlik no sütununu kullanıp, ölçüt olrak da tc kimlik noyu seçerseniz ayrı satırlardaki sayısal değerleri toplayabilirsiniz. aynı satırda formül içindeki aralık ve ölçüt kısmını F4 ile sabitleyip sağa doğru çekince diğer toplamları da elde edersiniz. formülü sabitlmeden aşağı doğru çekince diğer kişiler için bu işlemi yapmış olursunuz.
babelfish Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-12-2013, 13:07   #6
harziyan
 
harziyan kullanıcısının avatarı
 
Giriş: 13/12/2006
Şehir: Demre - ANTALYA
Mesaj: 576
Excel Vers. ve Dili:
Office 2010
Smile

Sayın tahsinanarat;
Çok müteşekkir oldum. Allah sizden elfü elfi razı olsun. Mükemmelsiniz.
Sayın babelfish problemimin makro ile çözülmesini istemiştim ama fikriniz için size de çok teşekkür ederim.
İyi ki varsınız.
harziyan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-12-2013, 16:47   #7
harziyan
 
harziyan kullanıcısının avatarı
 
Giriş: 13/12/2006
Şehir: Demre - ANTALYA
Mesaj: 576
Excel Vers. ve Dili:
Office 2010
Varsayılan

Sayın tahsinanarat:
Verdiğiniz kodlara ilişkin 2 sorum var;
1-Burada işlem yaptığımız sütun sayısını artırmak veya azaltmak istediğimizde nerelerde değişiklik yapıyoruz?
2-Bu işi aynı sayfada yapabilir miyiz?
harziyan Ç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 17:50


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- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Havuz- Makina- Danışmazlar-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden