tabloyu başka sayfaya taşıma

Katılım
17 Şubat 2010
Mesajlar
5
Excel Vers. ve Dili
2007 türkçe
merhaba
sayfa 1 de bir tablom var 4 sutundan oluşuyor D sutunu boş
A B C D
müşteri no adı/soyadı ili
1 hasan yıldız istanbul
2 murat güneş bolu
3 tuncay kara adapazarı

isteğim şu : D sutununda herhangi bir satıra herhangi bir şey yazdığımda o satırın A,B,C sutunlarındaki bilgilerini sayfa 2 ye yazmasını istiyorum böyle bir imkanımız varmı?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Fonksiyon bölümünde sormuşsunuz ama ben kod ile yaptım.
Kod daha iyi olur düşüncesindeyim.
Fonksiyon ilede olur ama kayıt sayısı çoğaldığında dosya şişecek ve formüller çalışmayı hissedilir derecede yavaşlatacaktır.
Bir an önce vba kod konusuna geçmenizi tavsiye ederim.
Dosya ektedir.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sat As Long, sh As Worksheet
If Intersect(Target, Range("D1:D" & Cells(65536, "B").End(xlUp).Row)) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
Set sh = Sheets("Sayfa2")
sat = sh.Cells(65536, "B").End(xlUp).Row + 1
If sat >= 655333 Then
    MsgBox "sayfa2 de satır doldu.Kayıt girilmedi", vbCritical, "UYARI"
    Exit Sub
End If
sh.Range("A" & sat & ":D" & sat).Value = Range("A" & Target.Row & ":D" & Target.Row).Value

End Sub
 

Ekli dosyalar

Katılım
17 Şubat 2010
Mesajlar
5
Excel Vers. ve Dili
2007 türkçe
ilginize çok teşekkür ederim
kod güzel çalışıyor fakat test ettikçe ihtiyaçlar artıyor
1-birinci satırda d yazıyor d yi değiştirdiğinizde sayfa 2 ye yeni bir satır ekliyor
2-d yi sildiğinizde sayfa 2 deki satır silinmiyor aynen kalıyor.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
ilginize çok teşekkür ederim
kod güzel çalışıyor fakat test ettikçe ihtiyaçlar artıyor
1-birinci satırda d yazıyor d yi değiştirdiğinizde sayfa 2 ye yeni bir satır ekliyor
2-d yi sildiğinizde sayfa 2 deki satır silinmiyor aynen kalıyor.
O zaman o yöntem işe yaramaz .Onun için bu işi bir butona atamak daha doğrudur.
Sayfa2'deki butona tıklayarak sonucu gözlemleyiniz.:cool:
Dosya ektedir.:cool:
 

Ekli dosyalar

Katılım
17 Şubat 2010
Mesajlar
5
Excel Vers. ve Dili
2007 türkçe
elinize sağlık bu daha iyi olmuş
çok teşekkür ederim
 
Katılım
12 Temmuz 2016
Mesajlar
9
Excel Vers. ve Dili
excel 2003
workbooklar arası dinamik geçiş

Merhabalar Evren Bey ,
Benim ihtiyacım olan şey de worksheetler arası değil de workbooklar arası geçiş.
Bir buton aracılığıyla bir workbooktaki tabloya yazılan verileri diğerine yine tablo olarak atama.

Çeşitli makrolar denedim ama dinamik taşımıyorlar, yani diğer workbookta alan tahsisi yapıyorlar.
Ben istiyorum ki iki user , 1 master workbooklarım olsun.
Rastgele user1 2 satır doldurup mastere , user2 de 5 satır doldurup mastere gonderdiğinde bu iki user bilgileri masterde birbirinin devamı şeklinde yazılsın .

Benim makrom ise işyükü fazla ve saçma olan bir yöntem... Her hücreyi tek tek özelleştirip masterde ikisi için de (ister doldursun ister doldurmasın) 10 satırlık alan tahsis eden bir makro .

Zamanınız varsa düzzenleyebilirseniz sevinirim, günlerdir çözüm bulamadım:(


Kod:
Sub SenttoMaster()
Set s1 = Sheets("sayfa1")

Workbooks.Open Filename:="D:\TT\Master.xlsm"
SON = [A65536].End(3).Select
If ActiveCell.Address = "$A$1" Then
ActiveCell.Offset(1, 0).Select
ActiveCell = 1
Else
ActiveCell.Offset(1, 0).Select
ActiveCell = ActiveCell.Offset(-1, 0) + 1
End If
ActiveCell.Offset(0, 0).Value = s1.[D1]
ActiveCell.Offset(0, 1).Value = s1.[A6]
ActiveCell.Offset(0, 2).Value = s1.[B6]
ActiveCell.Offset(0, 3).Value = s1.[C6]
ActiveCell.Offset(0, 4).Value = s1.[D6]
ActiveCell.Offset(0, 5).Value = s1.[E6]
ActiveCell.Offset(0, 6).Value = s1.[F6]
ActiveCell.Offset(0, 7).Value = s1.[G6]
ActiveCell.Offset(0, 8).Value = s1.[H6]
ActiveCell.Offset(0, 9).Value = s1.[I6]
ActiveCell.Offset(1, 0).Value = s1.[D1]
ActiveCell.Offset(1, 1).Value = s1.[A7]
ActiveCell.Offset(1, 2).Value = s1.[B7]
ActiveCell.Offset(1, 3).Value = s1.[C7]
ActiveCell.Offset(1, 4).Value = s1.[D7]
ActiveCell.Offset(1, 5).Value = s1.[E7]
ActiveCell.Offset(1, 6).Value = s1.[F7]
ActiveCell.Offset(1, 7).Value = s1.[G7]
ActiveCell.Offset(1, 8).Value = s1.[H7]
ActiveCell.Offset(1, 9).Value = s1.[I7]
ActiveCell.Offset(2, 0).Value = s1.[D1]
ActiveCell.Offset(2, 1).Value = s1.[A8]
ActiveCell.Offset(2, 2).Value = s1.[B8]
ActiveCell.Offset(2, 3).Value = s1.[C8]
ActiveCell.Offset(2, 4).Value = s1.[D8]
ActiveCell.Offset(2, 5).Value = s1.[E8]
ActiveCell.Offset(2, 6).Value = s1.[F8]
ActiveCell.Offset(2, 7).Value = s1.[G8]
ActiveCell.Offset(2, 8).Value = s1.[H8]
ActiveCell.Offset(2, 9).Value = s1.[I8]
ActiveCell.Offset(3, 0).Value = s1.[D1]
ActiveCell.Offset(3, 1).Value = s1.[A9]
ActiveCell.Offset(3, 2).Value = s1.[B9]
ActiveCell.Offset(3, 3).Value = s1.[C9]
ActiveCell.Offset(3, 4).Value = s1.[D9]
ActiveCell.Offset(3, 5).Value = s1.[E9]
ActiveCell.Offset(3, 6).Value = s1.[F9]
ActiveCell.Offset(3, 7).Value = s1.[G9]
ActiveCell.Offset(3, 8).Value = s1.[H9]
ActiveCell.Offset(3, 9).Value = s1.[I9]
ActiveCell.Offset(4, 0).Value = s1.[D1]
ActiveCell.Offset(4, 1).Value = s1.[A10]
ActiveCell.Offset(4, 2).Value = s1.[B10]
ActiveCell.Offset(4, 3).Value = s1.[C10]
ActiveCell.Offset(4, 4).Value = s1.[D10]
ActiveCell.Offset(4, 5).Value = s1.[E10]
ActiveCell.Offset(4, 6).Value = s1.[F10]
ActiveCell.Offset(4, 7).Value = s1.[G10]
ActiveCell.Offset(4, 8).Value = s1.[H10]
ActiveCell.Offset(4, 9).Value = s1.[I10]
ActiveCell.Offset(5, 0).Value = s1.[D1]
ActiveCell.Offset(5, 1).Value = s1.[A11]
ActiveCell.Offset(5, 2).Value = s1.[B11]
ActiveCell.Offset(5, 3).Value = s1.[C11]
ActiveCell.Offset(5, 4).Value = s1.[D11]
ActiveCell.Offset(5, 5).Value = s1.[E11]
ActiveCell.Offset(5, 6).Value = s1.[F11]
ActiveCell.Offset(5, 7).Value = s1.[G11]
ActiveCell.Offset(5, 8).Value = s1.[H11]
ActiveCell.Offset(5, 9).Value = s1.[I11]
ActiveCell.Offset(6, 0).Value = s1.[D1]
ActiveCell.Offset(6, 1).Value = s1.[A12]
ActiveCell.Offset(6, 2).Value = s1.[B12]
ActiveCell.Offset(6, 3).Value = s1.[C12]
ActiveCell.Offset(6, 4).Value = s1.[D12]
ActiveCell.Offset(6, 5).Value = s1.[E12]
ActiveCell.Offset(6, 6).Value = s1.[F12]
ActiveCell.Offset(6, 7).Value = s1.[G12]
ActiveCell.Offset(6, 8).Value = s1.[H12]
ActiveCell.Offset(6, 9).Value = s1.[I12]
ActiveCell.Offset(7, 0).Value = s1.[D1]
ActiveCell.Offset(7, 1).Value = s1.[A13]
ActiveCell.Offset(7, 2).Value = s1.[B13]
ActiveCell.Offset(7, 3).Value = s1.[C13]
ActiveCell.Offset(7, 4).Value = s1.[D13]
ActiveCell.Offset(7, 5).Value = s1.[E13]
ActiveCell.Offset(7, 6).Value = s1.[F13]
ActiveCell.Offset(7, 7).Value = s1.[G13]
ActiveCell.Offset(7, 8).Value = s1.[H13]
ActiveCell.Offset(7, 9).Value = s1.[I13]
ActiveCell.Offset(8, 0).Value = s1.[D1]
ActiveCell.Offset(8, 1).Value = s1.[A14]
ActiveCell.Offset(8, 2).Value = s1.[B14]
ActiveCell.Offset(8, 3).Value = s1.[C14]
ActiveCell.Offset(8, 4).Value = s1.[D14]
ActiveCell.Offset(8, 5).Value = s1.[E14]
ActiveCell.Offset(8, 6).Value = s1.[F14]
ActiveCell.Offset(8, 7).Value = s1.[G14]
ActiveCell.Offset(8, 8).Value = s1.[H14]
ActiveCell.Offset(8, 9).Value = s1.[I14]
ActiveCell.Offset(9, 0).Value = s1.[D14]
ActiveCell.Offset(9, 1).Value = s1.[A14]
ActiveCell.Offset(9, 2).Value = s1.[B14]
ActiveCell.Offset(9, 3).Value = s1.[C14]
ActiveCell.Offset(9, 4).Value = s1.[D14]
ActiveCell.Offset(9, 5).Value = s1.[E14]
ActiveCell.Offset(9, 6).Value = s1.[F14]
ActiveCell.Offset(9, 7).Value = s1.[G14]
ActiveCell.Offset(9, 8).Value = s1.[H14]
ActiveCell.Offset(9, 9).Value = s1.[I14]
[A1].Select
Application.ScreenUpdating = True
MsgBox "KAYIT İŞLEMİ TAMAMLANMIŞTIR.", vbInformation
ActiveWorkbook.Close
[s1].Select

End Sub
 
Üst