Diese Anleitung zeigt, wie Sie mithilfe von VBA-Makros SQL-Abfragen direkt in Excel-Tabellen durchführen. Dieser Ansatz bietet Vorteile gegenüber fest codierten Bereichen und sorgt für Flexibilität, auch wenn sich Ihre Daten ändern.
Anstatt feste Bereiche oder benannte Bereiche zu verwenden, bestimmen Sie dynamisch die Adresse der Tabelle zur Verwendung in Ihrer SQL-Zeichenfolge. Dadurch wird sichergestellt, dass Ihre Abfragen immer auf die richtigen Daten abzielen. So geht's:
Um die Adresse eines benannten Bereichs abzurufen, verwenden Sie:
<code class="language-vba">Sheets("shtName").Range("namedRangeName").Address</code>
Dies gibt die Adresse als Zeichenfolge zurück (z. B. $A$1:$A$8).
Für eine vollständigere Adresse einschließlich des Blattnamens verwenden Sie:
<code class="language-vba">ActiveWorkbook.Names.Item("namedRangeName").RefersToLocal</code>
Dies liefert eine Zeichenfolge im Format =Sheet1!$C$1:$C$4. So verwenden Sie dies in Ihrer SQL-Anweisung:
<code class="language-vba">strRangeAddress = Mid(ActiveWorkbook.Names.Item("namedRangeName").RefersToLocal, 2) strSQL = "SELECT * FROM [" & strRangeAddress & "]"</code>
Dadurch wird der Adressteil extrahiert und die SQL-Abfrage erstellt.
Das obige ist der detaillierte Inhalt vonWie kann ich VBA-Makros verwenden, um SQL-Abfragen für Excel-Tabellen auszuführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!