Daha önce onuda böyle vermiştim. Daha kapsamlı olarak ihtiyaç duyar belki birisi diye vereyim dedim.

bu sanki excel içinde basic kullanmak gibi.. Vb ve Exceli bağımsız olarak kullanmak adına basit bir aktarım örneği ekleyeyim buna.. konu var olan bi excel dosyasına veri aktarmak.. Private Sub Arşiv_Click ' arşiv isimli command arkadaşımız Dim vb As Workbook, vs As Worksheet ' "vb" ve "vs" yi tanımlıyoruz Set vb = Excel. Workbooks. Open 'adres veriyoruz Set vs = vb. Worksheets ' dosya içindeki sayfa adı vs. Range("a1") = "ad" ' excel hucrelerine aktarmaya başlıyor vs. Range("b1") = "soyad" vs. Range("c1") = "telefon" vs. Range("d1") = "adres" vs. Range("e1") = "meslek" wb. close = true ' excel, kaydedip kapattırıyoruz end sub 'bu da meşhur çıkış kapısı exceli VB de kullanacaksanız preferences 'ten excel özelliğini açmanız gerekir.. bu da benden olsun..

Kod: Merhaba, Bu yazida Excel ve Visual BASIC ile uğrasan kimselerin çokça üzerinde durduğu bir konu olan "Visual Basic'ten Excel'e veri transferi" konusunu ayrintili bir sekilde anlatacagim. Öncelikle bunun çok basit bir islem oldugunu bilmenizi isterim. Visual Basic'te birkaç satir fazladan yazarak aynen VBA 'da oldugu gibi makrolari kullanarak Excel'e veri transferi yapacagiz. Önce Visual Basic'i açalim ve Standart Exe Projesini baslatalim. Simdi Excel ile oynamak için Project Mönüsünden References komutunu çalistiralim. Karsimiza gelen pencereden "Microsoft Excel 10.0 Object Library" seçenegini onaylayalim ve OK dügmesine basalim. NOT : Hangi Excel sürümünü kullaniyorsaniz onu seçin. Her sey tamam. Artik Visual Basic içinden Excel ile istedigimiz gibi oynayabiliriz. Önce basitten bir örnek verelim. Formun kod sayfasini açalim ve "Form_Load" bölümüne asagidaki kodlari yazalim. Dim kitap As Object Set kitap = CreateObject kitap. Workbooks. Add kitap. Sheets("Sayfa1"). Range("A1"). Select ActiveCell. FormulaR1C1 = "Excel ile Baglanti Kuruldu" ActiveWorkbook. SaveAs Excel. Application. Quit Simdi örnekteki kodlarin ne ise yaradiklarini kisaca açiklayalim. Dim kitap As Object Burada kitap adli bir nesne tanimladik. Bütün islemleri bu nesne üzerinden yürütecegiz. Set kitap = CreateObject Burada kitap olarak tanimladigimiz nesnenin Excel uygulamasina ait oldugunu ve yeni bir Excel uygulamasi yarattigimizi görüyoruz. kitap. Workbooks. Add Uygulamaya yeni bir çalisma kitabi ekliyoruz. kitap. Sheets("Sayfa1"). Range("A1"). Select Çalisma kitabindaki Sayfa1 isimli sayfanin A1 hücresini seçiyoruz. ActiveCell. FormulaR1C1 = "Excel ile Baglanti Kuruldu" Aktif hücreye "Excel ile Baglanti Kuruldu" yazdiriyoruz. ActiveWorkbook. SaveAs Çalisma kitabini C: sürücüsüne "VB-XLS. xls" adiyla farkli kaydediyoruz. Excel. Application. Quit Son olarak Excel uygulamasindan çikiyoruz. Görüldügü gibi son derece basit bir olay. Kodlari daha da kisa açiklarsak Excel uygulamasini baslat, yeni bir kitap aç, Sayfa1' deki A1 hücresine "Excel ile Baglanti Kuruldu" , farkli kaydet ve Uygulamadan çik Alıntıdır Arkdaşlar... Başka bir anlatım daha var o da aşağıda

Kod: Excel – Visual Basic iliskilerine devam ediyoruz ve asil konumuz olan "Visual Basic 'ten Excel'e kayit" konusuna basliyoruz. Öncelikle Excel'i baslatip yeni bir çalisma kitabi açalim. Bu çalisma kitabinin içersine yeni bir çalisma sayfasi ekleyelim. Bu sayfanin adi "PersonelBilgi" olsun. Diger çalisma sayfalarini silelim. Simdi kayit alanlarimizi belirleyelim. Alanlarimiz asagidaki gibi olsun. Sıra No Adı Soyadı Doğum Yeri Maaşı Simdi çalima kitabini C: sürücüsünde "Personel" adli klasörün içine "PersonelBilgi. xls" adiyla kaydedelim ve kapatalim. Artik kayitlari tutacagimiz veritabanimiz hazir hale geldi. Visual Basic'i açalim ve yeni bir standart Exe projesi olusturalim. Bu projede kullanacagimiz nesneler ve isimleri asagidaki gibi olsun. Command1 Caption : Kaydet Command2 Caption : Kapat Command3 Caption : Personel Çağır Command4 Caption : Formu Temizle Label1 Caption : Sıra No Label2 Caption : Adı Soyadı Label3 Caption : Dogum Yeri Label4 Caption : Maaşı 4 adet textbox İsimleri sırayla txtSira, txtAd, txtDYeri, txtMaasi "Sira No" olarak kullanacagimiz textboxun "Enabled" özelligini "False" olarak degistirin. Çünkü burada sadece sira numarasini görüntüleyecegiz. Yani bilgi girisi olmayacak. Formun Son görüntüsü asagidaki gibi olacaktir. Bu projeyi C: sürücüsündeki "Personel" adli klasöre kaydedin. Sira geldi isin kod yazma kismina. Tabi önceki bölümde de açikladigim gibi Visual Basic 'e Excel'i tanitmamiz gerekiyor. "Project" mönüsünden "References" komutunu çalistirip "Microsoft Excel 10.0 Object Library" seçenegini aktif hale getirelim. Hersey tamamlandi. Asagidaki kodlari formun kod sayfasina yapistirin. Not:Bu kodlari yapistirmadan kendiniz yazarsaniz bazi seyleri daha çabuk kavrayabilirsiniz. Private Sub Command1_Click txtSira. Text = WorksheetFunction. Count(Range("A1:A65000")) + 1 Do While Not IsEmpty ActiveCell. Offset(1, 0). Select Loop ActiveCell. Value = txtSira. Text ActiveCell. Offset(0, 1). Value = txtAd. Text ActiveCell. Offset(0, 2). Value = txtDYeri. Text ActiveCell. Offset(0, 3). Value = txtMaasi. Text MsgBox "Verileriniz Kaydedildi" ActiveWorkbook. Save txtSira. Text = WorksheetFunction. Count(Range("A1:A65000")) + 1 txtAd. Text = "" txtDYeri. Text = "" txtMaasi. Text = "" txtAd. SetFocus End Sub Private Sub Command2_Click Application. Quit Unload Me End Sub Private Sub Command3_Click If txtAd. Text = "" Then MsgBox "Lütfen Ad Soyad kutusuna geçerli personel girin." Exit Sub End If Set adsoyad = Range("B2:B100"). Find If adsoyad Is Nothing Then MsgBox "Aradiginiz Ad ve Soyad'da kayit bulunamadi" Exit Sub End If ilksatir = adsoyad. Row Set adsoyad = Range("B2:B100"). FindPrevious(Range("B100")) sonsatir = adsoyad. Row Set adsoyad = Range(Cells(ilksatir, 2), _ Cells(sonsatir, 2)). Find txtSira. Text = Cells(ilksatir, 1). Value txtAd. Text = Cells(ilksatir, 2). Value txtDYeri. Text = Cells(ilksatir, 3). Value txtMaasi. Text = Cells(ilksatir, 4). Value End Sub Private Sub Command4_Click txtSira. Text = WorksheetFunction. Count(Range("A1:A65000")) + 1 txtAd. Text = "" txtDYeri. Text = "" txtMaasi. Text = "" txtAd. SetFocus End Sub Sub form_load KitapYolu = App. Path + "\PersonelBilgi. xls" Workbooks. Open Sheets . Select Range("A1"). Select txtSira. Text = WorksheetFunction. Count(Range("A1:A65000")) + 1 End Sub Private Sub Form_Unload Application. Quit End Sub Artik programi çalistirip kayit girebilir ve kayit arayabiliriz. Kodlari adim adim açiklayalim. Formun Load Yordami : KitapYolu = App. Path + "\PersonelBilgi. xls" KitapYolu isimli degisken ile kitabin yeri belirleniyor Workbooks. Open Çalisma kitabi açiliyor. Sheets . Select Range("A1"). Select Çalisma kitabindaki "PersonelBilgi" isimli sayfa seçiliyor ve bu sayfadaki A1 hücresi seçiliyor. txtSira. Text = WorksheetFunction. Count(Range("A1:A65000")) + 1 txtSira isimli Text kutusuna çalisma sayfasi özelligi olan Count kullanilarak bir sira numarasi ataniyor. Private Sub Form_Unload Application. Quit End Sub Burasi formun kapanis yordamidir. Form herhangi bir sekilde kapanirken neler yapilacaksa buraya yazilir. Ben burada sadece "Application. Quit" kodlarini kullandim. Bunun anlami "Uygulamadan Çik" tir. Tabi bu uygulama bizim yaptigimiz uygulama degil, Excel uygulamasidir. Eger bunu yapmasaydik, Excel arka planda çalisir durumda olacakti. Simdi kaydet dügmesinin kodlarina bakalim. Do While Not IsEmpty Burada bir döngü kullandik. Bu döngü sira numarasi içindi. A1 hücresi dolu ise ; ActiveCell. Offset(1, 0). Select bir alttaki hücreyi seç. ActiveCell. Value = txtSira. Text ActiveCell. Offset(0, 1). Value = txtAd. Text ActiveCell. Offset(0, 2). Value = txtDYeri. Text ActiveCell. Offset(0, 3). Value = txtMaasi. Text MsgBox "Verileriniz Kaydedildi" ActiveWorkbook. Save Burada bütün textboxlardaki bilgilerimiz kayit alanlarina yerlestiriliyor, mesaj kutusuyla kaydin tamamlandigi belirtiliyor ve çalisma kitabi kaydediliyor. Personel Çagir adli komut dügmesinin kodlarini açiklayalim. If txtAd. Text = "" Then MsgBox "Lütfen Ad Soyad kutusuna geçerli personel girin." Exit Sub End If Eger ismi yazacagimiz kutucuk bos ise mesaj kutusu gönder ve yordamdan çik. Set adsoyad = Range("B2:B100"). Find Burada adsoyad isimli bir kisaltma yaptik. Bu arayacagimiz kriter ve bu kriter bulundugu kayit alanidir. txtSira. Text = Cells(ilksatir, 1). Value txtAd. Text = Cells(ilksatir, 2). Value txtDYeri. Text = Cells(ilksatir, 3). Value txtMaasi. Text = Cells(ilksatir, 4). Value Son olarak arattigimiz ismin diger bilgilerini kutucuklara yerlestirdik. Tabi daha öncede söyledigim gibi kodlari kendiniz yazarsaniz olayi daha iyi kavramis olursunuz. Alıntıdır Arkadaşlar... Umarım işinize yarar.