Kapalı Excel kitabındaki herhangibir çalışma sayfasında herhangibir hücreye veri yazmak zor değil ancak, yazılan bu verinin silinmesi veya tekrar aynı hücreye veri yazılması
ADO-DAO metotları ile mümkün değildir. Ama, kapalı kitapta alt alta hücrelere veri yazılabilir.
Bu kısa açıklamadan sonra, eğer uygulamaya karar verirseniz şöyle yapın ...
1) Kapalı kitap, örneğin şu şekilde olsun:
D:\TestFolder\Toplamlar-R.xls
2) Bu kapalı kitapta,
Sheet1 sayfasında
B4 hücresine aşağıdaki metni girin. Bu metin alan adı olarak kodlarda kullanılacaktır.
Miktar
3) Şimdi yukarıdaki kitabı kapatıp, açık olan diğer çalışma kitabının VBE kısmına geçin.
Sheet1 sayfasına eklediğiniz
CommandButon1 nesnesi için
Sheet1 sayfa modülüne yerleştireceğiniz kodlar şunlardır:
Kod:
Private Sub CommandButton1_Click()
Dim daoDBEngine As Object, DB As Object
Dim MyRng As Range
Dim DbPath As String
DbPath = "[B][COLOR=blue]D:\TestFolder\Toplamlar-R.xls[/COLOR][/B]"
On Error Resume Next
Set daoDBEngine = CreateObject("DAO.DBEngine")
Set daoDBEngine = CreateObject("DAO.DBEngine.36")
On Error GoTo 0
Set MyRng = Range("[B][COLOR=darkorange]G3[/COLOR][/B]")
Set DB = daoDBEngine.OpenDatabase(DbPath, 0, 0, "Excel 8.0")
strSQL = "insert into [[B][COLOR=teal]Sheet1[/COLOR][/B]$] ([B][COLOR=red]Miktar[/COLOR][/B]) values ('" & MyRng & "')"
DB.Execute strSQL
End Sub
4) Şimdi sözkonusu çalışma sayfasında
G3 hücresine veri girip, sayfadaki CommandButton1 nesnesine tıkladığınızda, bu veri kapalı Excel kitabında ilgili hücreye yazılacaktır.
Not:
G3 hücresindeki veriyi değiştirip, veya fark etmez .. değiştirmeden
CommandButton1 nesnesine tekrar tıklayın, sonra bir kere daha tıklayın ... Kapalı Excel kitabını açıp baktığınızda, bu mesajın başında açıklamaya çalıştığım şeyi göreceksiniz.