PDA

Tam Sürümünü Görmek İçin : EXCEL VE Visual Basic


akiftalha
07/08/2003, 17:51
Arkadaslar benim sorunum şu

ben iş yerim için excelde birşeylaer yapmaya çalışan garip biriyim fakat hesaplamalarıma makro koyamıyorum veya excel ve visual basic i entegre çalıştıramıyorum.BU KONUDA YARDIMI NEREDEN BULABİLİRİM +++ vİsUAL BaSİC KODLARINI EN İYİ NASIL ÖĞRENİRİM HEPİNİZ SAĞ OLUN VAR OLUN


hmustak
08/08/2003, 09:03
araçlar>Makro>visual basic düzenleyici...

Excel.gen.tr

Legolas
08/08/2003, 13:54
Aşağıdaki program kapalı bir excel dosyasındaki dataları arraye aktarır. Umarım işinize yarar.


sSourceFile: Dataları almak istediğiniz dosyanın adı veya path'i..
sRange: Excelde isimlendirdiğiniz bölüm.(Insert name ile belirlediğiniz okunacak alan)'
[sSheetName] : eğer alacağınız data 1. sayfada değilse hangi sayfada olduğunu belirtmeniz gerekir. Eğer bunu belirtmezseniz 1. sayfayı okur.[bReturnHeadings] Eğer doğruysa, sütun başllığını okur.
******
Function WorkbookReadRange(sSourceFile As String, sRange As String, Optional sSheetName As String, Optional bReturnHeadings As Boolean) As Variant
Dim conWkb As ADODB.Connection, rsWkbCells As ADODB.Recordset, sConString As String
Dim lThisField As Long, avResults As Variant, avHeadings As Variant

On Error Goto ErrFailed
sConString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & sSourceFile
Set conWkb = New ADODB.Connection

conWkb.Open sConString
If Len(sSheetName) Then
'Get data from specified sheet
Set rsWkbCells = conWkb.Execute("Select * from " & Chr(34) & sSheetName & "$" & sRange & Chr$(34))
Else

Set rsWkbCells = conWkb.Execute("Select * from " & sRange)
End If
If rsWkbCells.EOF Then


ReDim avHeadings(0 To 0, 0 To rsWkbCells.Fields.Count - 1)
For lThisField = 0 To rsWkbCells.Fields.Count - 1
avHeadings(0, lThisField) = rsWkbCells.Fields(lThisField).Name
Next
WorkbookReadRange = avHeadings
Else

If bReturnHeadings Then

avResults = rsWkbCells.GetRows

ReDim avHeadings(0 To rsWkbCells.Fields.Count - 1, 0 To 0)
For lThisField = 0 To rsWkbCells.Fields.Count - 1
avHeadings(lThisField, 0) = rsWkbCells.Fields(lThisField).Name
Next
WorkbookReadRange = Array(avHeadings, avResults)
Else

WorkbookReadRange = rsWkbCells.GetRows
End If
End If

rsWkbCells.Close
conWkb.Close
Set rsWkbCells = Nothing
Set conWkb = Nothing
On Error Goto 0
Exit Function

ErrFailed:

WorkbookReadRange = Err.Description

If conWkb.State <> adStateClosed Then
conWkb.Close
End If

Set rsWkbCells = Nothing
Set conWkb = Nothing
End Function

End Sub

DaesAgelmar
01/03/2004, 16:39
www.classmodule.com/forum güzel bir kaynak olacaktır