Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Daten aus anderer Datei auslesen und eintragen | Herbers Excel-Forum


Betrifft: Daten aus anderer Datei auslesen und eintragen von: Bernd
Geschrieben am: 24.01.2010 19:45:10

Hallo Freaks,
ich suche seit heute 12 h nach einer Lösung im Archiv, bin aber nicht fündig geworden bzw. nicht in der Lage, das makro anzupassen.

Problem: aus einem Verzeichnis eine Datei aussuchen und aus zwei exakt benannten Blättern die Daten eines bestimmten Bereiches einlesen. Dabei haben Quell- und Zieldatei die gleiche Struktur und die gleiche Benennung der Registerblätter.

Ich habe ein Bsp. gefunden, dass meinen Vorstellungen sehr nahe kommt. Ich habe es in die Zieldatei eingebaut (angepasst erst mal nur für's Einlesen von "MA-Liste" - Daten) , aber leider funktioniert es nicht. Wer mag bitte helfen...

https://www.herber.de/bbs/user/67450.zip

Vielen Dank!

Grüße
Bernd

  

Betrifft: AW: Daten aus anderer Datei auslesen und eintragen von: fcs
Geschrieben am: 25.01.2010 07:54:50

Hallo Bernd,

muss die Quelldatei unbedingt geschlossen bleiben? Das macht alles doch ziemlich kompliziert.

Mit dem existierenden Makro gibt es verschiedene Probleme die bereinigt werden müssen:
- im Blatt "MA-Liste ist die Spalte A als Text formatiert. Da funktioniert das eintragen der Formeln nicht. Zellformat muss hier "Standard" sein.
- im Makro müssen alle Teile, die die ursprünglich vorhandene Summenberechnung durchfüren gelöscht werden.
- die Formel zur Werte-Übertragung muss angepasst werden.
- zum Schluss müssen Formeln durch Werte ersetzt werden.

Gruß
Franz

die Prozedur zum Werte holen muss etwa wie folgt aussehen (ohne Funktionsgarantie)

'Werte einlesen
Private Sub GetValues(BlattName As String, Bereich As Range)
  'Summieren der Zell-Inhalte aus mehreren Dateien, _
    dabei ist der Tabellenblatt-Name identisch mit dem aktiven Blatt
  'BlattName  = Name des Blatts aus dem Werte eingelesen werden sollen
  'Bereich    = Zellen-Bereich in dem Summen berechnet werden sollen
  Dim Zelle As Range
  Dim sFormel As String
  Dim iI As Integer
  On Error GoTo Fehler
'Datei-Auswahl-Liste in Listbox abarbeiten
  With Me.ListBox1
      Bereich.ClearContents
      For iI = 0 To .ListCount - 1
        If .Selected(iI) = True Then
'einzutragende Formel für Bereich ermitteln und einfügen
        '"='C:\Users\Public\Test\01\[Data03.xls]Daten'!R7C3:R23C11"
        sFormel = "='" & Me.txtDir & Application.PathSeparator _
            & "[" & .List(iI, 0) & "]" _
            & Me.txtTab & "'!" & "R[0]C[0]"
        Bereich.FormulaR1C1 = sFormel
        Bereich.Calculate
        End If
      Next
      'Formeln durch Werte ersetzen
      Bereich.Value = Bereich.Value
  End With
Fehler:
  With Err
    If .Number <> 0 Then
        MsgBox sFormel
        MsgBox "Fehler-Nr.:" & .Number & vbLf & .Description
    End If
  End With
  Set Zelle = Nothing
End Sub



  

Betrifft: AW: fcs Danke - Lösung selber gefunden von: Bernd
Geschrieben am: 25.01.2010 11:44:25

Hallo fcs,

vielen Dank. Ich habe die Lösung gestern abend doch noch selber gefunden und zusammengebastelt.

Anbei die (funktionierende :-)) Lösung für alle, die ein Lösung zu gleichgelagerten Problemen suchen.

Zieldatei liest aus Quelldatei ein:

https://www.herber.de/bbs/user/67457.zip

Grüße



Bernd


  

Betrifft: wo ist der Unterschied ?... von: robert
Geschrieben am: 25.01.2010 16:47:03

Hi Bernd,

beide Dateien sind doch identisch-wozu

dann der Aufwand?

Gruß
Robert


Beiträge aus den Excel-Beispielen zum Thema "Daten aus anderer Datei auslesen und eintragen"