ich möchte gern mit einem Klick aus einer anderen Tabelle Messdaten auslesen und sie in meiner Tabelle speichern. Nach längeren suchen habe ich auch einen Super Code Gefunden, jedoch kopiert er mir den ausgelesenen Bereich in den gleichen Bereich wieder rein (z.B. Range("B2:F5") auch in anderer Tabelle gleiche Range). Das möchte ich aber nicht, denn in der Tabelle wo die ausgelesenen Daten abgespeichert werden sollen soll als Statistiktabelle dienen. Somit sollte es so laufen wenn ich den Button drücke:
- liest Daten aus jeweiliger Tabelle in definierter Range aus
- übernimmt diese Daten in nächster Freier Zeile
- Zellen ohne Wert sollen nicht als 0 gewertet bzw. nicht mit übertragen werden
Der aktuelle Code sieht wie Folgt aus:
Sub Bereich_auslesen ()
Dim pfad As String, datei As String, blatt As String, bereich As Range, zelle As Object
'Angaben zur auszulesenden Zelle
pfad = "\\Quellpfad"
datei = "Messdaten"
blatt = "Messwerte"
Set bereich = Range("B4:f102")
' 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
Private Function GetValue(pfad, datei, blatt, zelle)
' Daten aus geschlossener Arbeitsmappe auslesen
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
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(zelle).Range("A1").Address(, , _
_
xlR1C1)
' Auslesen über Excel4Macro
GetValue = ExecuteExcel4Macro(arg)
End Function
Vielen lieben Dank im Voraus.Grüße Chris