Vba ile sayfada süzüp süzüleni başka sayfaya aktarma

Katılım
18 Mart 2007
Mesajlar
171
Excel Vers. ve Dili
OFFICE 2016
Altın Üyelik Bitiş Tarihi
02-03-2024
Değerli üstatlar. Örnek dosyamı bilgi ve tecrübeleriniz için ekte sunuyorum. Dosya içinde de izah etmeye çalıştığım husus şu şekildedir.
Excel dosyasında üç adet sayfa var. Birinci sayfa adı "giris"
İkinci sayfa adı "data"
üçüncü sayfa adı"irsaliye"

"giris" sayfasındaki B2 hücresine yazmış olduğum irsaliye numarasını yazdıktan sonra, yanına ekleyeceğim command buttona bastığımda
"data" sayfasındaki B sütununda süzerek, süzülmüş olan veriyi (F ile L sütunundaki verileri) ücünçü sayfa olan "irsaliye" sayfasında önce B12:AC46 arası silinerek, B12'den itibaren formülsüz bir şekilde değer olarak yapıştırmasını istiyorum. Daha sonra "data" sayfasındaki süz tekrar açılacak eski haline gelmesi gerekmektedir.

"irsaliye" sayfasındaki verinin aktarılacağı alan hücre birleştirilmiş haldedir. Eğer bu şekilde kalabiliyor ne mutlu, şayet olmuyorsa hücre birleştirmeyi iptal edebilirsiniz ve hücre birleşmemiş şekilde atması da işimi görecek ve ben mecburen başka bir dizayn yapacağım.

İhtiyacım bu şekildedir. Değerli yardımlarınız ve emeğiniz için şimdiden teşekkür eder, iyi çalışmalar dilerim.
 

Ekli dosyalar

Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Sanırım istediğiniz böyle bir şey.

Data sayfasında sadece firma ismi var ancak firma vergi no ve adres bilgileri datada olmadığı için irsaliye başlığına (B5 hücresine) sadece firma ismini getirebildim. Diğer bilgileri manuel girmeniz gerekecek.
 

Ekli dosyalar

Son düzenleme:
Katılım
18 Mart 2007
Mesajlar
171
Excel Vers. ve Dili
OFFICE 2016
Altın Üyelik Bitiş Tarihi
02-03-2024
tamda istediğim bu şekilde olmuş üstadım, Elinize emeğinize sağlık Allah razı olsun.
Son olarak, olmayan bir irsaliye no yazdığında aktara bastığımda böyle bir irsaliye bulunamadı diyebilir miyim? Tabi zor olmayacak ve vaktinizi almayacaksam eğer. Kodu düzeltme yazmanızda yeterli olur. Ben ekleme yapabilirim.

Sanırım istediğiniz böyle bir şey.

Data sayfasında sadece firma ismi var ancak firma vergi no ve adres bilgileri datada olmadığı için irsaliye başlığına (B5 hücresine) sadece firma ismini getirebildim. Diğer bilgileri manuel girmeniz gerekecek.
 
Son düzenleme:
Katılım
18 Mart 2007
Mesajlar
171
Excel Vers. ve Dili
OFFICE 2016
Altın Üyelik Bitiş Tarihi
02-03-2024
@bmutlu966 üstadım.
Şöyle bir sorunum oldu. module kendi excelime aldığımda. Aktar butonuna tıkladığımda soru_cevap.xlsm dosyasını bilgisayardan indirilenler klasöründen açıyor. Ben kapatıyorum ama "aktar" basınca yine açıyor. soru_cevap.xlsm'yi indirilenlerden sildim bu sefer açmaya çalışıp bulamadığı için açamayınca hata veriyor. Neden yapmış olabilir. Kodu inceliyorum bu soruna sebep olacak bir şey bulamadım.

Düzeltme: makro atarken eski dosyanın yolu verilmiş. Düzelttim bu sorunum düzeldi teşekkür ederim.
 
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Rica ederim, buyrun.
iyi çalışmalar.

Kod:
Sub irsaliye_1()
Dim s1, s2, s3 As Worksheet

Set s1 = Sheets("giris")
Set s2 = Sheets("data")
Set s3 = Sheets("irsaliye")

s3.Select
Range("B12:AC46").ClearContents

i = 12
son = s2.[B65536].End(3).Row

For t = 2 To son
    If s1.Cells(2, "B") = s2.Cells(t, "B") Then
        s3.Cells(5, "B") = s2.Cells(t, "E")
        s3.Cells(i, "B") = s2.Cells(t, "F")
        s3.Cells(i, "G") = s2.Cells(t, "G")
        s3.Cells(i, "P") = s2.Cells(t, "H")
        s3.Cells(i, "S") = s2.Cells(t, "I")
        s3.Cells(i, "U") = s2.Cells(t, "J")
        s3.Cells(i, "Y") = s2.Cells(t, "K")
    i = i + 1
    End If
Next

If i = 12 Then GoTo git
Range("B5").Select
End

git:
s1.Select
Cells(2, "B").Select
MsgBox "Datada bu irsaliye No ile ilgili bir kayit yok"

End Sub
 
Katılım
18 Mart 2007
Mesajlar
171
Excel Vers. ve Dili
OFFICE 2016
Altın Üyelik Bitiş Tarihi
02-03-2024
@bmutlu966 çok teşekkür ederim emeğinize sağlık
 
Üst