Projektanfrage

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unter-stützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! oder rufen Sie uns einfach an.

   
      Referenzen 

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   
     Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
   

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der Lösungs-
 findung?

  Nutzen Sie unser Anfrageformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
r
o
j
e
k
t
a
n
f
r
a
g
e
   

Daten aus geschlossener Arbeitsmappe auslesen

Um Daten per VBA aus einer anderen Arbeitsmappe auszulesen, muss diese im Normalfall zunächst geöffnet werden um anschließend auf die einzelnen Zellinhalte zugreifen zu können.

 

Es geht aber auch anders. Die folgenden VBA-Beispiele zeigen, wie über einen Trick diese Beschränkung umgangen werden kann. Verwendet wird dazu eine Excel4Macro-Funktion, die nach wie vor in allen Excel-Versionen zur Verfügung steht.


Zentraler Bestandteil ist eine Function, welche die Daten aus der geschlossenen Arbeitsmappe ausliest. Dieser Funktion werden dazu einfach der Pfad, der Dateiname, das Tabellenblatt und die Zelle übergeben, die aus der geschlossenen Tabelle ausgelesen werden soll.

 

Listing 1 zeigt die Auslese-Function.

Private Function GetValue(pfad, datei, blatt, zelle)
'** Daten aus geschlossener Arbeitsmappe auslesen

'*** Dimensionierung der Variablen
Dim arg As String

'Sicherstellen, dass das datei vorhanden ist
If Right(pfad, 1) <> "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = "datei Not Found"
Exit Function
End If

'** Das Argument erstellen
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(zelle).Range("A1").Address(, , xlR1C1)

'** Auslesen über Excel4Macro
GetValue = ExecuteExcel4Macro(arg)

End Function

 

Um einen einzelnen Wert aus einer angegebenen Zelle auszulesen, verwenden Sie folgendes Makro.

Sub Zelle_auslesen()
'** Dimensionierung der Variablen
Dim pfad As String, datei As String, blatt As String, zelle As String

'** Angaben zur auszulesenden Zelle
pfad = "F:\Excel\Beispiele"
datei = "geschlossene Mappe2.xls"
blatt = "Tabelle1"
bezug = "A2"

'** Eintragen in Zelle
ActiveCell.Value = GetValue(pfad, datei, blatt, bezug)

End Sub

Im Beispiel wird aus der Datei "geschlossene Mappe2.xls" die Zelle A2 aus dem Tabellenblatt "Tabelle1" ausgelesen und in die aktuell selektierte Zelle eingetragen.

Wenn ganze Bereiche aus der geschlossenen Arbeitsmappe ausgelesen werden sollen, dann verwenden Sie einfach folgenden VBA-Code.

Sub Bereich_auslesen()
'** Dimensionierung der Variablen
Dim pfad As String, datei As String, blatt As String, bereich As Range, zelle As Object

'** Angaben zur auszulesenden Zelle
pfad = "F:\Excel\Beispiele"
datei = "geschlossene Mappe2.xls"
blatt = "Tabelle1"
Set bereich = Range("A1:B10")

'** Bereich auslesen
For Each zelle In bereich
  
  '** Zellen umwandeln
  zelle = zelle.Address(False, False)
  
  '** Eintragen in Bereich
  ActiveSheet.Cells(zelle.Row, zelle.Column).Value = GetValue(pfad, datei, blatt, zelle)
Next zelle

End Sub

In diesem Beispiel wird der Zellbereich A1 bis B10 der geschlossenen Tabelle ausgelesen und in das aktuelle Tabellenblatt im gleichen Zellbereich eingetragen.

Die Beispieldatei mit dem VBA-Code können Sie über den folgenden Link herunterladen.

 

   

Relevante Artikel

  • Öffnen-Dialog mit vordefinierter Pfadangabe aufrufen

    In diesem Beispiel zeige wir Ihnen, wie Sie per VBA ein Dialogfenster zum Öffnen von Dateien aufrufen können. Das besondere an diesem Code ist, dass ein beliebiges Verzeichnis vorgegeben werden kann und...

  • Tabellenblätter alphabetisch sortieren

    Dieser VBA-Code sortiert die Tabellenblätter einer Arbeitsmappe in alphabetischer Reihenfolge wahlweise aufsteigend oder absteigend. Um die Sortierreihenfolge zu ändern müssen Sie nur die Variable...

  • Prüfen, ob eine Diskette eingelegt ist

    105024 Mit diesem Code können Sie prüfen, ob im Diskettenlaufwerk eine Diskette eingelegt ist.Ist keine Diskette eingelegt, werden Sie aufgefordert, eine einzulegen.Sub Prüfung_Diskettenschacht()'Variablen...

  • Windows- bzw. Windwos-System-Verzeichnis ermitteln

    Das Windowsverzeichnis ermitteln (VBA) Um das Windows-Verzeichnis zu ermitteln fügen Sie folgenden Code in ein Modul ein: Private Declare Function GetWindowsDirectory Lib _ "KERNEL32" Alias...

  • Dateiname und Pfad in Fußzeile einfügen

      Die Datei muss dazu aber mindestens 1 mal gespeichert worden sein, sonst kann der Pfad ja nicht bekannt sein. Also die Datei zuerst speichern und anschließend das Makro ausführen.   Sub...