veri aktarımı hakkında

Katılım
12 Temmuz 2006
Mesajlar
25
ekteki dosyada çalışma yapıyorum takıldığım konu şu;
şimdi database adlı sheette veriler giriyorum. brayı data havuzu olarak düşünelim. aynı dosyada başka sheetler var. bu database adlı sheet ile aynı adı tasıyan sheete verileri nasıl aktarabilirim. örneğin. database sheetinde x firma ile veriler girilmişmolsun. aynı adla sheet olsun. x firma adlı sheete database sheetindeki x firma ile ilgili verileri nasıl aktarabilirim. database sheeti sürekli güncellenecek olup bunun gözardı edilmemesi gerekir.. teşekkürler..
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Merhaba,

Ekli dosyanızı inceleyiniz.

Her butona tıkladığınızda verileri firma sayfalarının altına devam ederek aktarmaktadır.

Kod:
Private Sub CommandButton1_Click()
On Error Resume Next
Dim sadi As Worksheet
Dim firma As String
Application.ScreenUpdating = False
Set s1 = Sheets("Database")
For i = 6 To s1.[b65536].End(3).Row
firma = s1.Cells(i, "b").Value
    For Each sadi In Worksheets
        If UCase(sadi.Name) = UCase(firma) Then
             Set s2 = Sheets(sadi.Name)
             j = s2.[c908].End(3).Row + 1
             s2.Cells(j, "c") = s1.Cells(i, "c")
             s2.Cells(j, "d") = s1.Cells(i, "d")
             s2.Cells(j, "e") = s1.Cells(i, "e")
             s2.Cells(j, "f") = s1.Cells(i, "f")
             s2.Cells(j, "g") = s1.Cells(i, "g")
        End If
    Set s2 = Nothing
    Next
Next i
Application.ScreenUpdating = True
MsgBox "İşlem Bitti"
Set s1 = Nothing
End Sub
 
Katılım
12 Temmuz 2006
Mesajlar
25
yardım arkadaşlar..

Teşekkür üstad. ufak bir sorunum daha var. şimdi yaptığımız dosyada verileri ilgili sheetlere atıyor ancak sürekli veri girişi yapacağım için şöyle birşey yapabilir miyiz. ekteki dosyada giriş sheetinde verileri yazdıktan sonra bir form çalışsın ilgili sheetlere veriler aktarılsın daha sonra giriş sheetindeki verilerin tamamı database sheetinde aktarılıp giriş sheeti temizlensin.. bu işlem süreklilik arzedeceği için sdaha sonra giriş sheetine veri girdiğimde yine aynı şekilde ilgili sheetlere veriler aktasılsın tabi daha önceki veriler kalacak onlara eklenecek, aynı zamanda database sheetine de aynı şekilde veriler eklenip giriş sheeti temizlenecek. daha sonra datatabase sheetinde ekstra bir form yapıp ordaki verileri sorgulayacağım.. bu konuda destek ve önerileriniz bekliyorum arkadaşlar. teşekkürler...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki ile değiştirerek deneyin.

Kod:
Private Sub CommandButton1_Click()
On Error Resume Next
Dim sadi As Worksheet
Dim firma As String
Application.ScreenUpdating = False
Set s1 = Sheets("giriş")
Set s3 = Sheets("database")
For i = 6 To s1.[b65536].End(3).Row
firma = s1.Cells(i, "b").Value
    For Each sadi In Worksheets
        If UCase(sadi.Name) = UCase(firma) Then
             Set s2 = Sheets(sadi.Name)
             If s2.[c909] <> "" Then
             MsgBox "Veri Yaz&#305;lacak Alan&#305;n Tamam&#305; Dolmu&#351;tur."
             Exit Sub
             End If
             j = s2.[c909].End(3).Row + 1
             s2.Cells(j, "c") = s1.Cells(i, "c")
             s2.Cells(j, "d") = s1.Cells(i, "d")
             s2.Cells(j, "e") = s1.Cells(i, "e")
             s2.Cells(j, "f") = s1.Cells(i, "f")
             s2.Cells(j, "g") = s1.Cells(i, "g")
        End If
    Set s2 = Nothing
    Next
Next i
s1.Range("b6:g" & s1.[b65536].End(3).Row).Copy s3.[b65536].End(3).Offset(1, 0)
s1.[b6:g65536].ClearContents
Application.ScreenUpdating = True
MsgBox "&#304;&#351;lem Bitti"
Set s1 = Nothing
End Sub
 
Katılım
12 Temmuz 2006
Mesajlar
25
te&#351;ekk&#252;rler &#252;stad. sheetin ismini dosya i&#231;erisindeki bir sat&#305;ra otamatik nas&#305;l yazd&#305;rabiliriz. onun komutu veya form&#252;l&#252; var m&#305;d&#305;r. diyelim sheetin ismi x firmas&#305;, bunu ben a1 s&#252;t&#252;nuna sheetin ismine link verip otomatik de&#287;i&#351;mesini sa&#287;layabirlimiyim.
 
Üst