Sie können immer die eingebaute VBA-Sprache verwenden. Ich habe es gerade versucht und es funktioniert - YMMV.
Gehen Sie zu Extras | Makro | Visual Basic Editor.
Ein neues Fenster wird geöffnet.
Gehen Sie zu Extras | Verweise. Aktivieren Sie das Kontrollkästchen neben Microsoft ActiveX Data Objects 2.5-Bibliothek auswählen. OK klicken.
Doppelklicken Sie in der Liste links auf Sheet1. (Der Projekt-Explorer) - Ihr Blatt kann einen anderen Namen haben.
Kopieren Sie den folgenden Code und fügen Sie ihn in das Codefenster ein (das Fenster mit den beiden Dropdown-Listen oben).
Sehen Sie sich die markierte Zeile unten an - bearbeiten Sie sie, um sicherzustellen, dass Sie den vollständigen Pfad zu Ihrer Excel-Arbeitsmappe definieren. dh:
sXLSFile = "s:\brad\book1.xls"
Klicken Sie im Menü Ausführen auf die Option Unter- / Benutzerformular ausführen (F5).
Wenn alle Werte gleich sind (!), Sollte ein Meldungsfeld mit dem Durchschnitt der ausgewählten Zeilen eingeblendet werden - siehe die zweite hervorgehobene Zeile, in der die Abfrage tatsächlich ausgeführt wird.
.Open "**select avg(value) from [sheet1$] where c1='A' and c2='D'**"
Sie müssen nur die obige Zeile ändern, um die Abfrage zu ändern - z. B. wenn Sie den Durchschnitt mit C1 = "B" und C2 = "A" möchten.
Sub Main()
Dim sXLSFile As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
' set the location of the Excel worksheet
**sXLSFile = "s:\brad\book1.xls"**
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & sXLSFile & ";Extended Properties=Excel 8.0;"
.Open
End With
If Not cn Is Nothing Then
Set rs = New ADODB.Recordset
With rs
Set .ActiveConnection = cn
.Open "**select avg(value) from [sheet1$] where c1='A' and c2='D'**"
MsgBox "The average is: " & rs(0)
End With
End If
If Not rs Is Nothing Then
If rs.State = adStateOpen Then
rs.Close
End If
End If
Set rs = Nothing
If Not cn Is Nothing Then
If cn.State = adStateOpen Then
cn.Close
End If
End If
Set cn = Nothing
End Sub
Ich hoffe, das hilft!
Referenz:
http://support.microsoft.com/kb/257819