• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Veri Aktarma

Katılım
15 Haziran 2009
Mesajlar
15
Excel Vers. ve Dili
Excel-2003
.xls
Ekli dosyadaki Tablo1 ve Sipformu sekmeleri çalışıyor.Aynı işlemi Tablo 2 ve imalformu sekmeleri için uygulamak istiyorum. Yardımcı olmanız dileğimle teşekkür ederim.
 

Ekli dosyalar

Selam,
Tablo1'deki "sorgulama" butonunu Tablo2 sayfasına kopyala-yapıştır yaptığınızda aynı kodlar ile otomatik süzme yapabilirsiniz.
Tablo1 sayfasındaki form düğmesine tıklayınca "Sipformu" sayfası açılıyor. Boş bir sayfa olarak ekrana geliyor. Form düğmesine basınca ne yapıyor? yada ne yapmak istiyorsunuz? açıklamanız gerekir. Ancak bu şekilde Tablo2'den imalformu sayfasını açtırabiliriz.
İyi çalışmalar.
 
Hocam merhaba öncelikle ilginize tşk ederim.
Tablo1 deki satırlara siparişimi yazıyorum ve kaç satırı forma aktarmak istiyorsam tarıyorum ve form butonuna basıyorum."sipform"sayfasındaki formun ilgili yerlerine aktarıyor.
Aynı çalışma şekilini Tablo2 için yapmak istiyorum.
Tablo2 ye yazıp taraığım bilgilerin "imalform" sayfasında ilgili yerler aktarılması
anlatabildim mi kusura bakmayın bu konuda acemiyim.
 
Selam,
Satırları seçtikten sonra Form Düğmesine tıklıyorsunuz öyle değil mi?
Size bir çalışma yapıp sunacağım ancak, tablo2 sayfasını biraz kendi örneklerinizden doldursanız, ve daha sonra da imalform sayfasındaki aktarılacak hücreleri gösterip, tablo2 sayfasındaki kaynak hücresini belirtirseniz çok daha güzel olur.
tablo2'den aktarılacak satır sayısı maksimum ne kadar olacak? Çünkü imalform sayfasında malzeme için en fazla 6 adet satır var.
Bir de imalform sayfasındaki bölümler sanki sadece 1 adet malzeme için gibi Mesela;
İSTEK SAYISI/BİRİMİ, Sipariş no, Sipariş tarihi, Ünite, Talep yapan v.s. gibi bölümler.

bunları iyi izah edebilirseniz ve dosyanızı yeniden düzenleyip örneklerseniz iyi olacaktır.
İyi çalışmalar.
 
Hocam tamam örnekleyerek tekrar göndereceğim tşk ederim.
 
Hocam ekteki dosya içerisine örnekleyerek bilgileri aktardım MAVİ renkli yazılar Tablo2 den aktarmak istediğim yerler. KIRMIZI renkli yazıların bulunduğu yerlere herhangi bir veri aktarılmayacak.
Burada yapmak istediğim Tablo2 ye girdiğim verileri standart bir forma aktararak ("imalform")
çıktısını almak. Tablo2 ye sürekli sipariş bilgileri gireceğim ve çıktı alacağım. Tablo2 deki veriler sabit kalırken ben taradığım alanları imalform'a aktarmış olacağım.
Tablo2 den imalform'a aktarılacak alan (A3:J3)..........(A8:J8) aralığındaki 6 satır

Tablo2 (A3:J3)....(A8:J8) taralı alanından 1 tane TARİH alınacak. 1.satırdaki tarih verisi "imalform" daki (C10) hücresine aktarılacak.

Tablo2 (A3:J3)....(A8:J8) taralı alanından 1 tane SİPARİŞ NO alınacak. 1.satırdaki SİPARİŞ NO verisi "imalform" daki (C9) hücresine aktarılacak.

Tablo2 (A3:J3)....(A8:J8) taralı alanından 1 tane ÜNİTE ismi alınacak. 1.satırdaki ÜNİTE verisi "imalform" daki (H9) hücresine aktarılacak.

Tablo2 (A3:J3)....(A8:J8) taralı alanından 1 tane İSTEK YAPAN alınacak. 1.satırdaki İSTEK YAPAN verisi "imalform" daki (C11) hücresine aktarılacak.

Tablo2 (A3:J3)....(A8:J8) taralı alanından SİP.EDİLEN MALZEME ADI sütünündaki veriler (G3..G8) 6 satır alınacak. 1.satırdaki veri "imalform" daki (B15...B20) hücresine aktarılacak.

Bu şekilde anlatım size yön verecekse aynı şekilde diğerleri içinde yazayım.
Şimdiden sonsuz teşekkürler ederim.
 

Ekli dosyalar

Selam,

Tablo2 sayfasına OTO.SÜZ ve FORM'a AKTAR adlı 2 adet Buton ekleyiniz. Aşağıdaki Kodları Module3'e kopyalayınız.
OTO.SÜZ bildiğiniz otomatik sizmeyi aktif/pasif yapıyor.

FORM'a AKTAR
düğmesi ise, Tablo2 sayfasında seçtiğiniz 1 ila 6 satırın bilgilerini imalform adlı sayfaya aktarıyor.
Eğer 6'dan fazla satır seçerseniz sizi uyarıyor.
Kod:
Sub OTO_SUZ() '********OTO. SÜZ Butonuna*******

Set s1 = Sheets("Tablo 2")
son_sat = s1.Range("A65536").End(3).Row
son_sut = s1.Cells(2, 256).End(1).Column
s1.Range(s1.Cells(2, "A"), s1.Cells(son_sat, son_sut)).AutoFilter
  
End Sub
Sub imalforma_aktar() '********FORM'a AKTAR Butonuna*******

Dim iform As Worksheet
Set iform = Sheets("imalform")

If Selection.Rows.Count > 6 Then
MsgBox Selection.Rows.Count & " Adet Satır Seçtiniz!" & _
Chr(10) & "En Fazla 6 Adet Satır Seçebilirsiniz", vbCritical, "DİKKAT!": Exit Sub
End If

iform.Range("C9:D11").ClearContents
iform.Range("H9:I9").ClearContents
iform.Range("B15:I20").ClearContents
iform.Range("A36:I45").ClearContents
iform.Range("A51:B51").ClearContents

iform.Cells(10, "C") = Selection.Cells(1, 1) 'Sipariş Tarihi
iform.Cells(9, "C") = Selection.Cells(1, 2) 'Sipariş No.
iform.Cells(9, "H") = Selection.Cells(1, 4) 'Ünite
iform.Cells(11, "C") = Selection.Cells(1, 3) 'İstek Yapan
iform.Cells(21, "A") = Selection.Cells(1, 8) '1.Malzeme Açıklama
iform.Cells(51, "A") = Selection.Cells(1, 3) 'Talep Eden

For i = 1 To Selection.Rows.Count

iform.Cells(14 + i, "B") = Selection.Cells(i, 7) 'Malzeme Adları
iform.Cells(14 + i, "H") = Selection.Cells(i, 5) 'Miktarlar
iform.Cells(14 + i, "I") = Selection.Cells(i, 6) 'Birimi
iform.Cells(35 + i, "A") = Selection.Cells(i, 9) 'Proje No.
iform.Cells(35 + i, "D") = Selection.Cells(i, 10) 'Poz no.

Next

If MsgBox("Seçtiğiniz " & Selection.Rows.Count & " Satırın Bilgileri ""imalform"" Sayfasına Aktarılmıştır." & _
Chr(10) & Chr(10) & " ""imalform"" Sayfasına Gitmek İster misiniz?", vbInformation + vbYesNo, "İŞLEM TAMAM...") _
<> vbNo Then
iform.Select
End If

End Sub

İyi çalışmalar.
 
Son düzenleme:
Hocam eline emeğine yüreğine sağlık çok teşekkür ederim.
İstediğim gibi olmus ben ek olarak birkaç makro ile sayfalar arası geçişler ekledim
Ana bir sayfa ilave ettim. Güzel oldu tekrar tekrar teşekkür ediyorum elinize sağlık.
 
Sayın celikci ve sayın Ergün Güler;

Günaydınlar ve iyi pazarlar..

Emek ve paylaşımınız için teşekkürler..

Acaba rica etsem sayın celikci dosyanın son halini sitemize ekleyebilir misiniz?
 
Dosyanın kendimce makrolar eklenmiş son hali ektedir. Eğer yapapilirsem bu tablolara print ve boyalı olmayanları yeni bir sayfaya aktarmak istiyorum.

Gelen siparişlerin üzerini boyayıp Gelmeyenlerin lisyesini alabilmek için
makro ekleyip boyasızları yeni bir sayfaya aktarmak istiyorum.
 

Ekli dosyalar

Dosyanın kendimce makrolar eklenmiş son hali ektedir. Eğer yapapilirsem bu tablolara print ve boyalı olmayanları yeni bir sayfaya aktarmak istiyorum.

Gelen siparişlerin üzerini boyayıp Gelmeyenlerin lisyesini alabilmek için
makro ekleyip boyasızları yeni bir sayfaya aktarmak istiyorum.

Selam,
Dosyanıza pek fazla bakamadım. Sorunuzu biraz örneklerseniz elimden geldiği ve fırsatım olduğu kadar yardımcı olmaya çalışırım. Boyadan kasıt hücre içindeki zemin rengini Kastediyorsunuz herhalde.
Ne renk olacak? Satırın Tamamını renkli olacak? Hangi sayfada renklendirme yapacaksınız? hangi sayfaya aktaracaksınız? Örnek bir dosya hazırlarsanız iyi olur.
Ayrıca Tablo1'deki Form düğmesindeki makrolar çok kötü çalışıyor. kodlar biraz dolambaçlı ve çok fazla yardımcı hücre kaplıyor. Tablo2'deki benim verdiğim kodları inceleyerek sizlerde uyarlayabilirsiniz. Uyarlamaz iseniz bu sayfayı da yapabilirim. Ancak nelerin ve ne şekil aktarılması gerekiyor? yeniden örneklendirip izah etmelisiniz.
İyi çalışmalar.
 
Ergün Hocam Merhaba
İlginize teşekkür eder başarılar dilerim.Vaktinizi ve fırsatınız olursa yardımlarınızı beklerim.
1- Tablo 1 deki makrolar konusunda haklısınız dolaylı bir yöntem oldu.Sizin yaptığınızdan faydalanarak düzeltmeye çalıştıp fakat beceremedim.

2- Tablo 1 deki ve Tablo 2 deki sayfada gelen ve imalatı yapılan siparişleri belirlemek için zemin
rengini değiştiriyorum.Belirli aralıklarla zemin rengi değiştirilmeyenleri Listelemem gerekiyor.
Bu nedenle :
Tablo 1 de zemin rengi değiştirilmemiş dolu hücreleri Tablo 1 GLMY sayfasına taşımak
Tablo 2 de zemin rengi değiştirilmemiş dolu hücreleri Tablo 2 GLMY sayfasına taşımak istiyorum.

3- Son olarak "sipformu" ve "imalform" sekmelerindeki veri aktarılmış sayfayı 2 kopya print
etmek yazdırmak için FORMU YAZDIR butonu koymak istiyorum.

iyi günler dileklerimle.
 

Ekli dosyalar

Selam,
Çözüm 14.mesajdadır.
İyi çalışmalar.
 
Son düzenleme:
Ergün Hocam Merhaba
İlginize teşekkür eder başarılar dilerim.Vaktinizi ve fırsatınız olursa yardımlarınızı beklerim.
1- Tablo 1 deki makrolar konusunda haklısınız dolaylı bir yöntem oldu.Sizin yaptığınızdan faydalanarak düzeltmeye çalıştıp fakat beceremedim.

2- Tablo 1 deki ve Tablo 2 deki sayfada gelen ve imalatı yapılan siparişleri belirlemek için zemin
rengini değiştiriyorum.Belirli aralıklarla zemin rengi değiştirilmeyenleri Listelemem gerekiyor.
Bu nedenle :
Tablo 1 de zemin rengi değiştirilmemiş dolu hücreleri Tablo 1 GLMY sayfasına taşımak
Tablo 2 de zemin rengi değiştirilmemiş dolu hücreleri Tablo 2 GLMY sayfasına taşımak istiyorum.

3- Son olarak "sipformu" ve "imalform" sekmelerindeki veri aktarılmış sayfayı 2 kopya print
etmek yazdırmak için FORMU YAZDIR butonu koymak istiyorum.

iyi günler dileklerimle.

Selam,

Tablo1 ve Tablo2 sayfalarına zemin rengi olmayan satırları ilgili sayfalara aktaran kodlar aşağıdaki gibidir. Zemin rengi kontrolü için, A sütunundaki satırlar referans alınmıştır. Kodlar Kodları Module5'e kopyalayabilirsiniz.

Tablo1 sayfasına bir buton oluşturup aşağıdaki Makroyu ekleyiniz.

Kod:
Sub Renksiz_aktar_1()
Dim t1, glmy As Worksheet
Set t1 = Sheets("Tablo 1")
Set glmy1 = Sheets("Tablo 1 GLMY")

glmy1.Range("A3:H65536").ClearContents

son = t1.Cells(65536, "A").End(3).Row

If son = 2 Then
MsgBox "Aktarılacak Satır Bulunamadı"
Exit Sub
End If

sat = 2

For i = 3 To son

With t1

If .Cells(i, "A").Interior.ColorIndex = xlNone Then
sat = sat + 1
glmy1.Range("A" & sat & ":H" & sat) = .Range("A" & i & ":H" & i).Value2
End If
End With
Next

MsgBox "Tablo1 Sayfasındaki " & sat - 2 & " Adet Renksiz Satır Tablo 1 GLYM Sayfasına Aktarılmıştır.", vbInformation
End Sub

Tablo2 sayfasına bir buton oluşturup aşağıdaki Makroyu ekleyiniz.
Kod:
Sub Renksiz_aktar_2()
Dim t2, glmy2 As Worksheet
Set t2 = Sheets("Tablo 2")
Set glmy2 = Sheets("Tablo 2 GLMY")

glmy2.Range("A3:J65536").ClearContents

son = t2.Cells(65536, "A").End(3).Row

If son = 2 Then
MsgBox "Aktarılacak Satır Bulunamadı"
Exit Sub
End If

sat = 2

For i = 3 To son

With t2

If .Cells(i, "A").Interior.ColorIndex = xlNone Then

sat = sat + 1
glmy2.Range("A" & sat & ":J" & sat) = .Range("A" & i & ":J" & i).Value2
End If
End With
Next

MsgBox "Tablo2 Sayfasındaki " & sat - 2 & " Adet Renksiz Satır Tablo 2 GLYM Sayfasına Aktarılmıştır.", vbInformation
End Sub
İyi çalışmalar.
 
Son düzenleme:
Hocam teşekkür ederim eline emeğine yüreğine sağlık
Tablo 1 ile ilgili izahat aktaracağım fırsat bulduğunuzda bakarsanız
sevinirim.
Kolay gelsin iyi çalışmalar
 
Ergün Hocam Merhaba

Tablo1 ile ilgili ayrıntıları anlatmaya çalışacağım. Öncelikle herşey için çok tşk ler

Tablo 1 veri giriş sayfamıdaki verileri "sipformu" sayfasındaki hücrelere taşıyacağız.Tablo1 e girmiş olduğumuz verileri yazdırmak istediğimiz en fazla 9 (Dokuz) satırı tarayarak "sipform" sayfasına aktaracağız. Aktardığımız "sipform" sayfasında aynı formdan 2 tane var bunun nedeni
A4 kağıda yazdıracağımız bu çıktıyı ortadan ikile böldüğümüzde 2 kopya elde etmiş olacağız.

Tablo 1 deki verilere gelince A kolonunda TARİH, B kolonunda SİPARİŞ NO, C kolonunda
İSTEK YAPAN, D kolonunda ÜNİTE, E kolonunda MİKTARI, F kolonunda BİRİMİ , G kolonunda
MALZEMENİN CİNSİ , H kolonunda AÇIKLAMALAR bulunmakta

"sipform" sayfasına en fazla 9 (dokuz) satır aktaracağız.
G kolonundaki MALZEMENİN CİNSİ isim ve tanım olarak "sipform" sayfasındaki hücreye sığmaz
ise bir alt satıra atlayarak devam edecektir.
Tablo 1 de kaç satır taradık ise "sipform" sayfasındaki S.NO ya ona göre sıra numarası vereceğiz.
Tablo 1 sayfasındaki H kolonundaki AÇIKLAMALAR aynı şekilde "sipform" sayfasındaki AÇIKLAMA sırasına göre aktarılacak.

Tablo1 de A kolonundaki TARİHİ değeri "sipform" sayfasındaki F8 ve F43 hücrelerine
Tablo1 de B kolonundaki SİPARİŞ NO değeri "sipform" sayfasındaki F7 ve F42 hücrelerine
Tablo1 de C kolonundaki İSTEK YAPAN değeri "sipform" sayfasındaki A30 ve A65 hücresine
Tablo1 de D kolonundaki ÜNİTE değeri "sipform" sayfasındaki AA8 ve AA43 hücresine
Tablo1 de E kolonundaki MİKTARI değeri "sipform"sayfasındaki Z14....Z22 ve Z49....Z57 hücre.
Tablo1 de F kolonundaki BİRİMİ değeri "sipform" sayfasındaki W14...W22 ve W49...W57 hücre..
Tablo1 de G kolonundaki MALZEMENİN CİNSİ değeri "sipform" sayfasındaki C14.....C22 ve C49....C57 hücrelerine
Tablo1 de H kolonundaki AÇIKLAMALAR 1.satırdaki değer "sipform" sayfasında F23 ve F58
hücresine
Tablo1 de H kolonundaki AÇIKLAMALAR 2.satırdaki değer "sipform" sayfasında F24 ve F59
hücresine
Tablo1 de H kolonundaki AÇIKLAMALAR 3.satırdaki değer "sipform" sayfasında F25 ve F60
hücresine

Tablo1 de H kolonundaki AÇIKLAMALAR 4.satırdaki değer "sipform" sayfasında W23 ve W58 hücresine
Tablo1 de H kolonundaki AÇIKLAMALAR 5.satırdaki değer "sipform" sayfasında W24 ve W59 hücresine
Tablo1 de H kolonundaki AÇIKLAMALAR 6.satırdaki değer "sipform" sayfasında W25 ve W60 hücresine

Ergün Hocam zamanını almak istemem mevcut hali ilede kullanabilirim. Fakat senin büyük emeğinin bulunduğu bu dosyayı sağlam muhafaza edebilmem için şifrelemek yani korumak istiyorum. Veri girişi yapılabilsin fakat formun yapısını makroları değitirme için engelleme olsun

müsait olduğunuz bir zaman bakarsanız sevinirim.
 

Ekli dosyalar

Hocam makroları şifreledim yalnızca sayfa koruma yı yapamadım sayfa korumaya aldığımda makro ile aktardığım verileri almıyor ve korumalı olduğu için ikaz veriyor
 
Hocam makroları şifreledim yalnızca sayfa koruma yı yapamadım sayfa korumaya aldığımda makro ile aktardığım verileri almıyor ve korumalı olduğu için ikaz veriyor
Selam,
Şifreleme ve Koruma yapmak istiyorsunuz. Beraber yapalım. Ancak, ne istediğinizi tam olarak izah etmelisiniz. örneğin ben çalıştığım bazı excel dosyalarınındaki çalışma sayfalarını makro ile kilitliyorum. kullanıcı ben isem bütün korulamar otomatik açılmasını sağlıyorum. kullanıcıyı environ("username") kodu ile denetliyorum.

kullanıcı adını şu şekilde öğrenebilirsiniz. boş bi module aşağıdaki kodları yazıp çalıştırınız.

Kod:
Sub Kullanıcı()

MsgBox "Kullanıcı Adınız: " & Environ("username")

End Sub

sayfa kilitleme örneklerinden bir tanesi için aşağıdaki kodları deneyiniz. kodları son gönderdiğiniz dosyanızın module3 deki kodları ile değiştiriniz.
kırmızı yazılı kodlar şifrelemek içindir.
Kod:
Sub imalforma_aktar() '********FORM'a AKTAR Butonuna*******
Dim iform As Worksheet
[COLOR="Red"][B]Dim sifre As String[/B][/COLOR]

Set iform = Sheets("imalform")

[COLOR="Red"][B]sifre = "1234"
iform.Unprotect Password:=sifre[/B][/COLOR]
 
If Selection.Rows.Count > 6 Then
MsgBox Selection.Rows.Count & " Adet Satır Seçtiniz!" & _
Chr(10) & "En Fazla 6 Adet Satır Seçebilirsiniz", vbCritical, "DİKKAT!": Exit Sub
End If

iform.Range("C9:D11").ClearContents
iform.Range("H9:I9").ClearContents
iform.Range("B15:I20").ClearContents
iform.Range("A36:I45").ClearContents
iform.Range("A51:B51").ClearContents

iform.Cells(10, "C") = Selection.Cells(1, 1) 'Sipariş Tarihi
iform.Cells(9, "C") = Selection.Cells(1, 2) 'Sipariş No.
iform.Cells(9, "H") = Selection.Cells(1, 4) 'Ünite
iform.Cells(11, "C") = Selection.Cells(1, 3) 'İstek Yapan
iform.Cells(21, "A") = Selection.Cells(1, 8) '1.Malzeme Açıklama
iform.Cells(51, "A") = Selection.Cells(1, 3) 'Talep Eden

For i = 1 To Selection.Rows.Count

iform.Cells(14 + i, "B") = Selection.Cells(i, 7) 'Malzeme Adları
iform.Cells(14 + i, "H") = Selection.Cells(i, 5) 'Miktarlar
iform.Cells(14 + i, "I") = Selection.Cells(i, 6) 'Birimi
iform.Cells(35 + i, "A") = Selection.Cells(i, 9) 'Proje No.
iform.Cells(35 + i, "D") = Selection.Cells(i, 10) 'Poz no.

Next

If MsgBox("Seçtiğiniz " & Selection.Rows.Count & " Satırın Bilgileri ""imalform"" Sayfasına Aktarılmıştır." & _
Chr(10) & Chr(10) & " ""imalform"" Sayfasına Gitmek İster misiniz?", vbInformation + vbYesNo, "İŞLEM TAMAM...") _
<> vbNo Then
iform.Select
End If

[COLOR="Red"][B]iform.Cells.Locked = True
iform.Protect Password:=sifre ', AllowFiltering:=True[/B][/COLOR]

End Sub

kodları 1 kez çalıştırmanız yeterlidir.

Tablo2 sayfasından birkaç bilgiyi imalform'a aktarınız. imalform sayfanızı korumalı yapacaktır. Koruma şifresi 1234 olacaktır.
tekrar forma bilgi aktarırken, korumayı kaldırmanıza gerek kalmadan kodlar önce korumayı kaldıracak, makro bittince de şifreleyecektir.

kodları deneyiniz. istekerinizi bunlara göre yazınız.

İyi çalışmalar.
 
Ergün Hocam uygulamayı yaptım sonuç başarılı çok teşekkür ediyorum.
Tablo 1 için yardımcı olabilecekmisiniz. Benim bilgilerimle olmadı sizin Tablo 2 için uyguladığınızı kopyalayıp Tablo 1 e uyarlamaya çalıştım ama olmadı. Bu konuda mümkünse yardımlarınızı bekliyorum.
 
Ergün Hocam uygulamayı yaptım sonuç başarılı çok teşekkür ediyorum.
Tablo 1 için yardımcı olabilecekmisiniz. Benim bilgilerimle olmadı sizin Tablo 2 için uyguladığınızı kopyalayıp Tablo 1 e uyarlamaya çalıştım ama olmadı. Bu konuda mümkünse yardımlarınızı bekliyorum.

Selam,
Çözüm Bulmanıza sevindim. Tablo1 için yardımcı olmak istedim. Ancak, sizin satıra sığmayan verinizi bir alta istemeniz beni farklı metot yapmayı düşündürdü. Böyle bir durumda ben olsam formda değişiklik yapardım. daha sonra forma göre kodlar yazardım. Ancak, Formunuzu bu zamana kullandığınız şekli ile değiştirmek sizi zora sokacaktır. Bu yüzden şimdilik böyle kullanın. Söz vermiyorum. Eğer vakit bulur, ilgilenirsem size dönerim.

İyi çalışmalar
 
Geri
Üst