Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zugriff auf aspx-Datei mit Excel VBA

Forumthread: Zugriff auf aspx-Datei mit Excel VBA

Zugriff auf aspx-Datei mit Excel VBA
Schmidt
Hallo
Ich habe ein Problem mit dem Zugriff auf eine aspx-Datei.
Diese Datei (data.aspx)wird von einer Anwendung erzeugt und mittels Internet-Explorer dargestellt.
Wenn ich Excel vorher öffne erscheint die Datei als VBA-Projekt im VBA-Editor.
Ich kann auch mit Workbooks("data.aspx").Activate auf diese Datei zugreifen.
Aber dann kann ich nicht mehr in meine ürsprüngliche Excel-Arbeitsmappe (im Beispiel Test) zurückspringen.
Beispiel
Sub Daten()
Workbooks("Data.aspx").Activate
Range("A1:C14").Copy
Workbooks("Test").Activate
End Sub
Dann kommt die Fehlermeldung:
Die Methode Activate für das Objekt Workbook ist fehlgeschlagen
für die 3. Zeile, die beiden ersten befehle sind ausgeführt.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zugriff auf aspx-Datei mit Excel VBA
09.02.2011 13:42:02
Jürgen
Hallo Thomas,
kann es sein, dass die Datei "Test.xls" heißt? Dann sollte es Workbooks("Test.xls").Activate heißen, oder alternativ (wenn in Test.xls das Makro gespeichert ist) Thisworkbook.activate.
Noch besser wäre es aber, auf das Hin- und Herspringen ganz zu verzichten, z.B. so:
workbooks("Data.aspx").activesheet.range("a1:c4").copy Thisworkbook.activesheet.range("B20")
Die Bezüge müssten natürlich noch auf Dein konkretes Beispiel angepaßt werden.
Gruß, Jürgen
Anzeige
AW: Zugriff auf aspx-Datei mit Excel VBA
09.02.2011 16:18:41
Schmidt
Danke
Hat funktioniert
Gruß, Thomas
;
Anzeige
Anzeige

Infobox / Tutorial

Zugriff auf .aspx-Datei mit Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und stelle sicher, dass du Zugriff auf die .aspx-Datei hast.

  2. Starte den VBA-Editor mit ALT + F11.

  3. Erstelle ein neues Modul: Rechtsklick auf "VBAProject (DeineArbeitsmappe)" > Einfügen > Modul.

  4. Füge den folgenden Code ein:

    Sub Daten()
       Workbooks("Data.aspx").Activate
       Range("A1:C14").Copy
       Workbooks("Test").Activate
    End Sub
  5. Ändere den Dateinamen in Workbooks("Test").Activate, falls deine Datei einen anderen Namen hat, z.B. Workbooks("Test.xls").Activate.

  6. Führe das Makro aus und überprüfe, ob die Daten erfolgreich kopiert werden.


Häufige Fehler und Lösungen

  • Fehlermeldung "Die Methode Activate für das Objekt Workbook ist fehlgeschlagen":
    • Überprüfe, ob der Dateiname korrekt ist. Du musst sicherstellen, dass die Datei tatsächlich geöffnet ist und der Name in VBA korrekt geschrieben ist.
    • Alternativ kannst du ThisWorkbook.Activate verwenden, wenn sich das Makro im gleichen Workbook befindet.

Alternative Methoden

Eine effizientere Methode, um Daten von einer .aspx-Datei zu kopieren, ohne ständig zwischen den Fenstern zu wechseln, könnte so aussehen:

Sub DatenEffizient()
    Workbooks("Data.aspx").ActiveSheet.Range("A1:C4").Copy ThisWorkbook.ActiveSheet.Range("B20")
End Sub

Diese Methode vermeidet das Hin- und Herspringen zwischen den Arbeitsmappen und ermöglicht es dir, die Daten direkt zu kopieren.


Praktische Beispiele

Wenn du Daten von einer .aspx-Datei in Excel importieren möchtest, könntest du folgendes Beispiel verwenden:

Sub ImportData()
    Dim sourceWorkbook As Workbook
    Set sourceWorkbook = Workbooks.Open("http://deineurl.de/data.aspx")
    sourceWorkbook.Sheets(1).Range("A1:C14").Copy ThisWorkbook.Sheets(1).Range("A1")
    sourceWorkbook.Close False
End Sub

Hierbei wird die .aspx-Datei über eine URL geöffnet und die Daten direkt in die aktive Arbeitsmappe eingefügt.


Tipps für Profis

  • Nutze Variablen: Um die Lesbarkeit deines Codes zu erhöhen, kannst du Variablen für die Arbeitsmappen und Bereiche verwenden.
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Probleme zu vermeiden, z. B. wenn die .aspx-Datei nicht geöffnet werden kann.
On Error Resume Next
Set sourceWorkbook = Workbooks("Data.aspx")
If sourceWorkbook Is Nothing Then
    MsgBox "Die .aspx-Datei ist nicht geöffnet!"
    Exit Sub
End If
On Error GoTo 0

FAQ: Häufige Fragen

1. Kann ich eine .aspx-Datei direkt in Excel öffnen? Ja, du kannst eine .aspx-Datei über die URL öffnen, indem du den Workbooks.Open Befehl verwendest.

2. Was tun, wenn die Daten nicht kopiert werden? Stelle sicher, dass die .aspx-Datei geöffnet ist und dass die Zellreferenzen korrekt sind. Prüfe außerdem, ob der Dateiname in deinem Code genau mit dem Namen der geöffneten Datei übereinstimmt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige