Update: aus diesem Blogbeitrag ist ein Produkt entstanden! Erfahren Sie, wie Ihnen Linearis TABLE.Manager hilft, SQL Inhalte einfach und effizient in Excel zu analysieren und zu editieren. Und laden Sie sich gleich die kostenlose Testversion herunter!
Zur TABLE.Manager Produktseite ...
Im ersten Beitrag haben wir gesehen wie mit den Query Tables von Excel 2010 sehr einfach SQL Server Tabellen mit Excel 2010 angezeigt werden können. Anstelle des rechte-Maustaste-Befehls "Aktualisieren" kann mit einem einfachen Makro die Aktualisierung aller Query Tables in einem Sheet automatisiert werden.
Dazu fügen wir in die Excel Datei aus Teil 1 dieses Blogbeitrags ein Button-Objekt ein mit der Beschriftung "refresh", anschliessend erstellen wir mit dem Rechte-Maustaste-Befehl "Makro zuweisen ..." das Makro "ActiveSheet_allTables_Refresh":
Das Makro hat dabei folgenden Aufbau:
Public Sub ActiveSheet_allTables_Refresh() Dim Tables As ListObject On Error GoTo Error_Handler For Each Tables In ActiveSheet.ListObjects Tables.Refresh Next Tables Error_Handler: If Err <> 0 Then MsgBox Err.Number & " - " & Err.Description, vbExclamation, "FLEX-Reporting!" Resume Next End If End Sub
Diese Makrolösung hat gegenüber der Standardfunktion zur Tabellenaktualisierung den Vorteil, daß ein eigener Button in der Excel Mappe zur Verfügung steht und daß mit der sehr einfachen For-Next Schleife gleich alle Query Tables des aktiven Excel Sheets aktualisiert werden.