Microsoft Excel

Herbers Excel/VBA-Archiv

Werte aus Tabellenblätter sichern und einlesen

Betrifft: Werte aus Tabellenblätter sichern und einlesen von: Hecke63
Geschrieben am: 24.11.2014 14:41:14

Hallo Forum,
ich möchte folgendes realisieren.
Werte aus bestimmten Tabellenblättern einer Arbeitsmappe sollen gesichert werden.
Diese gesicherten Werte sollen dann in einer anderen Arbeitsmappe in die entsprechenden
Tabellenblätter eingelesen werden.
Alle Arbeitsmappen haben den gleichen Aufbau.
Wozu das Ganze?
Es bestehen 5 einzelne Excel Woorkbooks (Arbeitsmappen) plus 1 eine Gesamtdatei. Also auch 6 unterschiedliche Benutzer. Da diese 5 + 1 nicht gleichzeitig an einer Arbeitsmappe arbeiten können, eben 5 einzelne und eine Gesamt.
Beispiel:
User 1 und User 3 ändern Werte in drei verschieden Arbeitsblättern ihrer Mappe und speichern diese ab. Nun soll auch eine Art Sicherungsdatei gespreichert werden von User 1 und User 3. Der User der Gesamtmappe lädt sich alle geänderten Sicherungsdateien der einzelnen in die Gesamtmappe. Damit ist die Gesamtmappe immer auf dem "neuesten" Stand.
Ich hoffe ihr habt verstanden was ich möchte.
Ich weiß leider nicht wie das ganze realisiert werden kann. In eineer textdatei? dat datei? oder andere Möglichkeiten?

Ich danke Euch für die Hilfe und hoffe ein paar Vorschläge.
Gruß

  

Betrifft: Werte aus Tabellenblätter sichern und einlesen von: Hecke63
Geschrieben am: 24.11.2014 15:23:19

Hallo zusammen,
ich habe folgendes gefunden.


Dim strFileName As String
Dim lngFn As Long
Dim lngAbZeile As Long
Dim lngBisZeile As Long
Dim lngAbSpalte As Long
Dim lngBisSpalte As Long


strFileName = ThisWorkbook.Path & "\gesicherte Änderung.dat"

Set wksQuelle = ActiveSheet

lngAbZeile = 8 'Zeile
lngAbSpalte = 2 '=B
lngBisSpalte = 32 '=AF

lngBisZeile = wksQuelle.Cells.SpecialCells(xlCellTypeLastCell).Row
'bestimmten Bereich sichern:
avarArray = wksQuelle.Range(wksQuelle.Cells(lngAbZeile, lngAbSpalte), wksQuelle.Cells(lngBisZeile, lngBisSpalte))

'ggf letzte Sicherung vorher löschen
If Len(Dir(strFileName)) > 2 Then
Kill strFileName
End If
lngFn = FreeFile()
Open strFileName For Binary As #lngFn
Put #lngFn, 1, avarArray
Close #lngFn
End Sub




Kommt ja meiner Frage schon sehr Nahe. Nur leider ist es hier, dass nur ein Bereich aus einem Tabellenblatt gsichert wird. Ich brauche das Ganze aber von mehreren Tabellenblättern.
Gruß


 

Beiträge aus den Excel-Beispielen zum Thema "Werte aus Tabellenblätter sichern und einlesen"