koşula göre tablo bağlama

Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
arkadaşlar ekli dosyamda
STOK sayfasında stokları giriyorum
TABLO sayfasındada bunları görüntülüyorum
2 cins giriş yaptım normalde bu yüzü buluyor belki daha fazla
benim istediğim stok sayfasında yazan stokları tabloya ilgili yere atması
yani ben ERKEK ATLET / BEYAZ / 5 = 100 dediğimde stokta tabloda ilgili yere atması
bunun için yardımcı olursanız sevinirim
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocalarımdan bu konuda yardım bekliyorum
en azından bir yol olarak sölerseniz yapmaya çalışırım
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Merhabalar

Dosyada verdiğiniz örnekleri inceledim. Peki, ERKEK ATLET/MAVİ/5 diye bir stok girdiğinizde, "TABLO" adlı sheet'e ne yazılacak?
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
tabloya verileri ben elle giricem
verdiğim örneğe benzer şekilde
ben bir tablo hazırlıcam stok sayfasına girdiğim veriler
tabloda ilgili yere gelmesi lazım
bunu ERKEK ATLET \ MAVİ \ 5
BAYAN KİLOT \ YEŞİL 3 gibi düşünün
bunu gibi bir tablo
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Tabloya girdiğiniz verileri enter dediğinizde ilgili yerlere aktarır.
Kod:
Sub AUTO_OPEN()
Application.OnKey "{RETURN}", "aktar"
End Sub
Sub AUTO_close()
Application.OnKey "{RETURN}", ""
End Sub
Sub aktar()
Set SS = Sheets("STOK")
Set ST = Sheets("TABLO")
S = SS.[A65536].End(3).Row
SS.Range("A" & S + 1 & ":B" & S + 1) = ST.Range("A3:B3").Value
SS.Range("C" & S + 1) = ST.Range("C2").Value
SS.Range("D" & S + 1) = ST.Range("C3").Value
S = SS.[A65536].End(3).Row
SS.Range("A" & S + 1 & ":B" & S + 1) = ST.Range("A6:B6,C5,C6").Value
SS.Range("C" & S + 1) = ST.Range("C5").Value
SS.Range("D" & S + 1) = ST.Range("C6").Value
End Sub
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocam çalıştıramadım
biraz açıklarsanız
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocam birde ben stok sayfasındaki verileri
tablo sayfasına almasını istiyorum bir yanlışlık olmasın
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
bu konuda hocalarımdan yardım bekliyorum
gerçekten çok önemli
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Merhabalar

Aşağıdakileri, "STOK" sheet'inin kod sayfasına kopyalayınız.

Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim shS As Worksheet, shR As Worksheet
Dim bul As Range
Dim Cinsi As Variant, Renk As Variant, No As Variant
Dim adres As String
Dim i As Integer
If Not Intersect(Target, Range("D2:D" & Cells(65536, 4).End(xlUp).Row)) Is Nothing Then
   Set shS = Sheets("STOK")
   Set shR = Sheets("TABLO")
   Cinsi = Target.Offset(, -3)
   Renk = Target.Offset(, -2)
   No = Target.Offset(, -1)
   Set bul = shR.Columns(1).Find(Cinsi, , , xlWhole)
   If Not bul Is Nothing Then
      adres = bul.Address
      Do
         If bul.Offset(, 1) = Renk Then
            For i = 3 To 8
                If shR.Cells(bul.Row - 1, i) = No Then
                   shR.Cells(bul.Row, i) = Target
                End If
            Next i
         End If
         Set bul = shR.Columns(1).FindNext(bul)
      Loop While Not bul Is Nothing And bul.Address <> adres
   End If
   Set bul = Nothing
   Set shS = Nothing
   Set shR = Nothing
End If
End Sub
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocam kodlar &#231;al&#305;&#351;&#305;yor ama &#351;&#246;le bi&#351;ey var
ben mesela kar&#305;&#351;&#305;k olarak stok sayfas&#305;na giri&#351; yap&#305;yorum bu kay&#305;tlar 2000 3000 i buluyor ben tablo sayfas&#305;na tabloyu yap&#305;cam
mesela stok sayfas&#305;na &#199;OCUK K&#304;LOT / BEYAZ / 5 dirdi&#287;imde
tabloda ilgili yere kaydetmesi laz&#305;m
mesela stokta ERKEK ATLET/ BEYAZ / 8 YOK
tablodada bo&#351; olmas&#305; laz&#305;m
bilmiyorum a&#231;&#305;klay&#305;c&#305; oldu mu?
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocam tamam
kusura bakmay&#305;n
dedi&#287;im gibi oldu harika yapm&#305;&#351;s&#305;n&#305;z
tam istedi&#287;im gibi
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocam bir ka&#231; giri&#351; yapt&#305;m
ama &#351;&#246;le bi&#351;ey var
enterle girmeden
tabloya ge&#231;miyor
ben stok a otomatik ataca&#287;&#305;mdan
sorun olur mu
kopyala yap&#305;&#351;t&#305;r ile ile g&#246;r m&#252;yor
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
A&#231;&#305;k&#231;as&#305;, a&#231;&#305;klay&#305;c&#305; olmad&#305;...

&#199;&#252;nk&#252;, &#246;rnek dosyan&#305;zda; &#199;OCUK K&#220;LOT / BEYAZ / 5 sat&#305;r&#305;, "TABLO" sheet'inde yok. "STOK" sheet'ine bu bilgiyi girdi&#287;inizde, "TABLO" sayfas&#305;nda yoksa, bu sat&#305;r otomatik mi olu&#351;turulacak?

Size g&#246;nderdi&#287;im kodlar STOK sayfas&#305;n&#305;n D s&#252;tununda herhangi bir de&#287;i&#351;iklik oldu&#287;unda &#231;al&#305;&#351;&#305;r. E&#287;er de&#287;i&#351;tirdi&#287;iniz stokun, "TABLO" da kar&#351;&#305;l&#305;&#287;&#305; yoksa hi&#231;bir i&#351;lem yapmaz.

L&#252;tfen, mevcut dosyan&#305;z &#252;zerinden &#246;rnekleme yap&#305;n&#305;z... Konuyu siz kafan&#305;zda canld&#305;rmaktas&#305;n&#305;z ama &#351;u an olmayan veriler &#252;zerinden bizim muhakeme y&#252;r&#252;tmemiz kolay olmuyor.
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
kusura bakmayın

hocam kesinlikle haklısınız
kendimde okuduğumda pek bişey anlamadıom
dosyaya bir kaç giriş yaptım
açıklamayı dosyada ilgili yerse belirttim saygılar
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Bu son istediğiniz yöntem; göreceli olarak diğerine göre daha güvenilir.

Aşağıdaki kodu, standart bir modül sayfasına kopyalayarak çalıştırınız.

Kod:
Option Explicit
Sub Getir()
Dim shS As Worksheet, shT As Worksheet
Dim Hucre As Range, Bul As Range
Dim adres As String
Dim i As Integer
Set shS = Sheets("STOK")
Set shT = Sheets("TABLO")
Set Hucre = shT.Cells(1, 1).End(xlDown)
Do While Hucre.Address <> Cells(65536, 1).Address
   shT.Range("C" & Hucre.Row & ":H" & Hucre.Row).ClearContents
   Set Hucre = Hucre.End(xlDown)
Loop
Set Hucre = shT.Cells(1, 1).End(xlDown)
Do While Hucre.Address <> Cells(65536, 1).Address
   Set Bul = shS.Columns(1).Find(Hucre, , , xlWhole)
   If Not Bul Is Nothing Then
      adres = Bul.Address
      Do
          If Bul.Offset(0, 1) = Hucre.Offset(0, 1) Then
             For i = 3 To 8
                 If Hucre.Offset(-1, i - 1) = shS.Cells(Bul.Row, 3) Then
                    shT.Cells(Hucre.Row, i) = shS.Cells(Bul.Row, 4)
                    Exit For
                 End If
             Next
          End If
          Set Bul = shS.Columns(1).FindNext(Bul)
      Loop While Not Bul Is Nothing And Bul.Address <> adres
   End If
   Set Hucre = Hucre.End(xlDown)
Loop
Set shS = Nothing
Set shT = Nothing
Set Hucre = Nothing
Set Bul = Nothing
End Sub
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
Hocam tek kelime ile s&#252;per hatta s&#252;ppppperrr
&#231;ok saolun Allah raz&#305; olsun
 
Üst