29/01/2009, 18:21
Seruz
Örneğinizi Ekte gönderdim.
Biraz acele olduğu ve fazla da zamanım olmadığı için
çok fazla detaya giremedim.
Eğer mantığını anlarsanız,
gerisini kendiniz de geliştirebilirsiniz.
Excel'de yapılacak işlemlerin kodları karışık gelebilir ama
o kodları yine excel'den otomatik olarak alabilirsiniz.
Excel'de iken Araçlar-Makro-Yeni Makro Kaydet dediğinizde
yaptığınız işlemlere karşılık gelen Vba kodları otomatik olarak kaydedilir.
Kaydetmeyi durdurduktan sonra Araçlar-Makro-Makrolar kısmında
kaydedilen kodları görebilirsiniz.
Tek yapacağınız buradaki gerekli kodları Access'e kopyalayıp,
Access'e göre biraz düzenlemek.
ya her komutun başına ExcelDosyasi. ekleyeceksiniz veya
With ExcelDosyasi
End With
bloğu içerisinde tüm komutların başına . ekleyeceksiniz.
Mesela;
With ExcelDosyasi
.Range(.Cells(3, 2).Address, .Cells(SatirSayisi, SutunSayisi + 1).Address).HorizontalAlignment = xlCenter
.Cells.EntireColumn.AutoFit
.Columns("A").EntireColumn.ColumnWidth = 1
.Columns("B").EntireColumn.ColumnWidth = 11
' Çerçeve İşlemleri
.Range(.Cells(3, 2).Address, .Cells(SatirSayisi, SutunSayisi + 1).Address).Select
.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With .Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
.Range("A1").Select
End With
Biraz acele olduğu ve fazla da zamanım olmadığı için
çok fazla detaya giremedim.
Eğer mantığını anlarsanız,
gerisini kendiniz de geliştirebilirsiniz.
Excel'de yapılacak işlemlerin kodları karışık gelebilir ama
o kodları yine excel'den otomatik olarak alabilirsiniz.
Excel'de iken Araçlar-Makro-Yeni Makro Kaydet dediğinizde
yaptığınız işlemlere karşılık gelen Vba kodları otomatik olarak kaydedilir.
Kaydetmeyi durdurduktan sonra Araçlar-Makro-Makrolar kısmında
kaydedilen kodları görebilirsiniz.
Tek yapacağınız buradaki gerekli kodları Access'e kopyalayıp,
Access'e göre biraz düzenlemek.
ya her komutun başına ExcelDosyasi. ekleyeceksiniz veya
With ExcelDosyasi
End With
bloğu içerisinde tüm komutların başına . ekleyeceksiniz.
Mesela;
With ExcelDosyasi
.Range(.Cells(3, 2).Address, .Cells(SatirSayisi, SutunSayisi + 1).Address).HorizontalAlignment = xlCenter
.Cells.EntireColumn.AutoFit
.Columns("A").EntireColumn.ColumnWidth = 1
.Columns("B").EntireColumn.ColumnWidth = 11
' Çerçeve İşlemleri
.Range(.Cells(3, 2).Address, .Cells(SatirSayisi, SutunSayisi + 1).Address).Select
.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With .Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
.Range("A1").Select
End With