Murat sordu
Merhaba
Sizden bir konu hakkında yardım talep edecektim. Zaman ayırıp bakabilirseniz çok memnun olurum.
Personel işlerinde çalışıyorum. Her personel işe giriş yaptığı tarih itibari ile adına özel excel dosyam ve bunları ay ve yıl olarak klasörledim.
Benim sizden ricam ekte gönderdiğim Personel Veri.xlsx dosyasında sarı renge boyadığım alandaki verileri nasıl Veri Tabanı.xlsx dosyasına aktarabilirim.
Merhabalar;
Verilerinizi inceledim. Aslında exceldeki kurgu ters olmuş. Mevcut hali ile Makro ile her alanı ayrı ayrı yazmak gerekir. Alan çok fazla olduğundan çok fazla kodlama demektir.
Bunun yerine size 3 farklı bir yöntem sunabilirim.
Şöyle ki;
1 .Yöntem – PivotTable
Veri ilk giriş işlemini Form olarak tasarladığınız Personel Veri.xlsx yerine Veri Tabanı.xlsx dosyasında kaydetmenizi öneriyorum. Burada tüm kayıtları tüm satırda kaydediyor olacaksınız.
Artık elinizde ham veri şeklinde veriniz olacak. Ham Verilerinizi de Form şeklinde görüntülemek için ise Pivot Table kullanmalısınız. PivotTable ile elinizdeki form gibi tasarlamak gerekiyor. Biraz uğraşarak PivotTable Tasarım Sekmesindeki araçlarla tasarladığınız forma benzer veriler yapabilirsiniz. Tasarım uğraşırsınız ama sonrasında rahat edersiniz.
2. Yöntem – Microsoft Access
Diğer bir alternatif ise Excel yerine Micosoft Access kullanmak. Exceldeki formların aynısını Access Form’da tasarlayıp ona uygun tablolar eklenir.
3. Yöntem – Excel Makro İle…
Eğer Excelde kalsın derseniz de Makro yazmak gerekiyor. Her değer farklı hücrede olduğu için makro ile aşağıdaki gibi hücreleri tek tek bir değişkene aktarılır.
adsoyad= Worksheets(“09-Personel_Envanteri”).Cells(9, 3)
sonra Veri Tabanı sayfasına (Veri Tabanı sayfasını form ile aynı dosyaya alınız) ilgili kolona yazmak üzere aşağıdaki şekilde kod yazarsınız.
sat = Cells(65536, “B”).End(3).Row + 1
Worksheets(“Sayfa1”).Range(“B” & sat).Value = adsoyad
Anlamı
- En son boş satıra gider.
- Form Hücresinden aldığınız değeri satıra yazar.
Umarım Yararlı olmuştur.