MAKRO İLE ÇALIŞMA SAYFALARI NASIL BİRLEŞTİRİLİR?

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

MAKRO İLE ÇALIŞMA SAYFALARI NASIL BİRLEŞTİRİLİR?

İleti#1)  mstfkrmbktcnr » 04 Haz 2021 12:57

Merhaba, Ek'te örnek olarak gönderdiğim raporda iki ayrı çalışma sayfası var, sadece bir sütun ortak diğerleri farklı, bu iki çalışma sayfasını ortak olan sütunu baz alarak tek bir çalışma sayfasında birleştirmek istiyorum, bunu sayfayı makro ile nasıl birleştirebilirim? Teşekkür.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
mstfkrmbktcnr
Siteye Alışmış
 
Kayıt: 10 Şub 2018 10:17
Meslek: finans
Yaş: 49
İleti: 228
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara

Cevap: MAKRO İLE ÇALIŞMA SAYFALARI NASIL BİRLEŞTİRİLİR?

İleti#2)  Ali ÖZ » 05 Haz 2021 17:52

Buyurun.

Kod: Tümünü seç
Sub birlestir()
  Sheets("1").UsedRange.Copy Sheets("birleştir").Range("a1")
  Sheets("2").Range("b1:h1").Copy Sheets("birleştir").Range("ı1")
  Sheets("2").Range("a2:h" & Sheets("2").Range("A65536").End(3).Row).Copy Sheets("birleştir").Range("H65536").End(3)(2, 1)
End Sub
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 40
İleti: 10255
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: MAKRO İLE ÇALIŞMA SAYFALARI NASIL BİRLEŞTİRİLİR?

İleti#3)  mstfkrmbktcnr » 08 Haz 2021 11:43

Teşekkürler Ali Bey, Elinize sağlık.
Kullanıcı avatarı
mstfkrmbktcnr
Siteye Alışmış
 
Kayıt: 10 Şub 2018 10:17
Meslek: finans
Yaş: 49
İleti: 228
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara

Cevap: Cevap: MAKRO İLE ÇALIŞMA SAYFALARI NASIL BİRLEŞTİRİLİ

İleti#4)  by_erman » 08 Haz 2021 16:59

Ali ÖZ yazdı:Buyurun.

Kod: Tümünü seç
Sub birlestir()
  Sheets("1").UsedRange.Copy Sheets("birleştir").Range("a1")
  Sheets("2").Range("b1:h1").Copy Sheets("birleştir").Range("ı1")
  Sheets("2").Range("a2:h" & Sheets("2").Range("A65536").End(3).Row).Copy Sheets("birleştir").Range("H65536").End(3)(2, 1)
End Sub


Bu koda benzer bir kod bana lazım.

Data adında bir sayfam var ve 5 adet de farklı isimlerde sayfalarım var.

5 adet farklı sayfaların içindeki tüm verileri data sayfasına alt alta eklemesini istiyorum.

Her kodu çalıştırdığımda yeni sayfa oluşturmamalı alt alta eklenmelidir.

Data sayfasının içerisinde a1 hücresine hangi sayfadan veri gelmiş ise o sayfanın adıda gelmelidir.

Şimdiden emeğinize sağlık teşekkür ederim.
Kullanıcı avatarı
by_erman
Yeni Başlamış
 
Kayıt: 15 Şub 2019 15:03
Meslek: Memur
Yaş: 36
İleti: 22
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: MAKRO İLE ÇALIŞMA SAYFALARI NASIL BİRLEŞTİRİLİR?

İleti#5)  mstfkrmbktcnr » 09 Haz 2021 08:31

Merhaba, sanırım istediğiniz böyle bir makro! Bu makroyu forumdan destek alarak geliştirmiştim.

Kod: Tümünü seç
Sub BİRLEŞTİR()

Set con = VBA.CreateObject("adodb.Connection")


Range("A2:O65536").ClearContents



'KREDİ
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.16.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=YES"""
Set rs = VBA.CreateObject("adodb.Recordset")
SORGU = "select [FİRMA],'Kredi Ödemesi',' ',[BANKA],[AÇIKLAMA],[REF],[PB2],' ',CDBL([TAKSİT TUTARI]),[TARİH],[HAFTA],[AY],[YIL],CDBL([TAKSİT TUTARI]*(-1)),CDBL([TUTARXKUR]*(-1)) from [KrdData$]"
rs.Open SORGU, con, 1, 1
Range("A2").CopyFromRecordset rs
Cells(Rows.Count, 1).End(3).Offset(1, 0).CopyFromRecordset rs


'PORTFÖYDE
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.16.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=YES"""
Set rs = VBA.CreateObject("adodb.Recordset")
SORGU = "select [FİRMA],[ÇS_TİPİ],[SON_DURUM],[ÇS_BANKASI],[ÇS_BORÇLUSU],[PORTFÖY_NO],[DÖVİZ_TÜRÜ],CDBL([TUTAR]),' ',[VADE],[HAFTA],[AY2],[YIL2],CDBL([TUTAR]),CDBL([TUTARXKUR]) from [Çek-Senet$] WHERE [SON_DURUM]='Portföyde'"
rs.Open SORGU, con, 1, 1
Cells(Rows.Count, 1).End(3).Offset(1, 0).CopyFromRecordset rs

'TAHSİLE VERİLDİ
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.16.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=YES"""
Set rs = VBA.CreateObject("adodb.Recordset")
SORGU = "select [FİRMA],[ÇS_TİPİ],[SON_DURUM],[ÇS_BANKASI],[ÇS_BORÇLUSU],[PORTFÖY_NO],[DÖVİZ_TÜRÜ],CDBL([TUTAR]),' ',[VADE],[HAFTA],[AY2],[YIL2],CDBL([TUTAR]),CDBL([TUTARXKUR]) from [Çek-Senet$] WHERE [SON_DURUM]='Tahsile Verildi' AND [DURUM]='Tahsile Verildi'"
rs.Open SORGU, con, 1, 1
Cells(Rows.Count, 1).End(3).Offset(1, 0).CopyFromRecordset rs

'VERİLEN ÇEK
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.16.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=YES"""
Set rs = VBA.CreateObject("adodb.Recordset")
SORGU = "select [FİRMA],[ÇS_TİPİ],[SON_DURUM],[ÇS_BANKASI],[KARŞI_HESAP2],[PORTFÖY_NO],[DÖVİZ_TÜRÜ],' ',CDBL([TUTAR]),[VADE],[HAFTA],[AY2],[YIL2],CDBL([TUTAR]*(-1)),CDBL([TUTARXKUR]*(-1)) from [Çek-Senet$] WHERE [SON_DURUM]='Verilen Çek'"
rs.Open SORGU, con, 1, 1
Cells(Rows.Count, 1).End(3).Offset(1, 0).CopyFromRecordset rs

'VERİLEN SENET
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.16.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=YES"""
Set rs = VBA.CreateObject("adodb.Recordset")
SORGU = "select [FİRMA],[ÇS_TİPİ],[SON_DURUM],[ÇS_BANKASI],[KARŞI_HESAP2],[PORTFÖY_NO],[DÖVİZ_TÜRÜ],' ',CDBL([TUTAR]),[VADE],[HAFTA],[AY2],[YIL2],CDBL([TUTAR]*(-1)),CDBL([TUTARXKUR]) from [Çek-Senet$] WHERE [SON_DURUM]='Verilen Senet' AND [İŞLEM]='04 Senet Çıkışı (Cari Hesaba)'"
rs.Open SORGU, con, 1, 1
Cells(Rows.Count, 1).End(3).Offset(1, 0).CopyFromRecordset rs


'MANUEL HAREKETLER

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.16.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=YES"""
Set rs = VBA.CreateObject("adodb.Recordset")
SORGU = "select [FİRMA],[KOD],' ',[HESAP NO],[İŞLEM AÇIKLAMASI],[KOD],[PB],CDBL([GİRİŞLER]),CDBL([ÇIKIŞLAR]),[TARİH],[HAFTA],[AY],[YIL],CDBL([TUTAR]),CDBL([TUTARXKUR]) from [HAREKET$] WHERE [TUTAR] Is Not Null"
rs.Open SORGU, con, 1, 1
Cells(Rows.Count, 1).End(3).Offset(1, 0).CopyFromRecordset rs



'1 Sütuna göre son satırı buluyoruz.
son = Cells(65536, 1).End(xlUp).Row
'a1 ile c sütunun arasında otomatik genişlik veriyoruz.
Range("A1:O" & son).EntireColumn.AutoFit


Range("A2:O65536").Sort key1:=Range("J2"), ORDER1:=xlAscending 'xlDescending


End Sub
Kullanıcı avatarı
mstfkrmbktcnr
Siteye Alışmış
 
Kayıt: 10 Şub 2018 10:17
Meslek: finans
Yaş: 49
İleti: 228
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: AhrefsBot, Bing[Bot] ve 0 misafir

Bumerang - Yazarkafe