Microsoft Excel

Herbers Excel/VBA-Archiv

Zelleninhalt zurücksetzen | Herbers Excel-Forum


Betrifft: Zelleninhalt zurücksetzen von: Kaspar
Geschrieben am: 15.02.2012 14:29:26

Hallo

Ich bin "blutiger" VBA-Beginner und habe eine Frage. Wie kann ich mehrere Zellen nachdem ich sie bearbeitet habe wieder zurücksetzen. Bsp. Zellen A1:A5 enthalten Werte die ich während dem Arbeiten überschreibe. Am Schluss möchte ich die Zellen A1:A5 wieder auf den Eingangswert zurücksetzen. Könnt ihr mir da weiterhelfen?

Beste Grüsse aus der Schweiz
Kaspar

  

Betrifft: AW: Zelleninhalt zurücksetzen von: Rudi Maintaire
Geschrieben am: 15.02.2012 14:43:34

Hallo,
schließ doch die Mappe ohne zu speichern.

Gruß
Rudi


  

Betrifft: AW: Zelleninhalt zurücksetzen von: Kaspar
Geschrieben am: 15.02.2012 14:46:56

Das will ich eben gerade nicht; will den Ausgangswert wieder haben.


  

Betrifft: AW: Zelleninhalt zurücksetzen von: Kaspar
Geschrieben am: 15.02.2012 15:35:37

es geht darum, dass der nachfolgende Benutzer nicht gleich alles wieder schliessen und wieder öffnen muss.
Beste Grüsse
Kaspar


  

Betrifft: AW: Zelleninhalt zurücksetzen von: Kaspar
Geschrieben am: 15.02.2012 15:33:42

es geht eben darum, dass ein nachfolgender Nutzer mit der gleichen Datei weiterfahren kann ohne immer das sheet zu schliessen und wieder neu zu öffnen.
Beste Grüsse
Kaspar


  

Betrifft: AW: Zelleninhalt zurücksetzen von: Kaspar
Geschrieben am: 15.02.2012 15:34:56

es geht eben darum, dass ein nachfolgender Benutzer das sheet gleich weiterbenützen kann ohne es immer gleich wieder zu schliessen und wieder zu öffnen.
Beste Grüsse
Kaspar


  

Betrifft: AW: Zelleninhalt zurücksetzen von: CitizenX
Geschrieben am: 15.02.2012 15:47:28

Hi,
teste mal:

Code ins Modul "DieseArbeitsmappe"

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Reset_Values
End Sub

Private Sub Workbook_Open()
Dim rZelle As Range, i As Long
' Tabellenname und Bereich anpassen!
Set myRange = Sheets("Tabelle3").Range("A1:D1")
ReDim Preserve aDaten(1 To myRange.Cells.Count)

For Each rZelle In myRange
    i = i + 1
    Set aDaten(i).raBereich = rZelle
    aDaten(i).vValue = rZelle.Text
Next

End Sub
Code in ein allgemeines Modul:
Option Explicit

Public Type Bereich
    raBereich As Range
    vValue As Variant
End Type

Public myRange As Range
Public aDaten() As Bereich
Sub Reset_Values()
Dim i As Long
For i = LBound(aDaten) To UBound(aDaten)
    aDaten(i).raBereich = aDaten(i).vValue
Next
End Sub

beim öffnen der Datei werden die Werte zwischen gespeichert.
Vor dem Schließen der Datei werden die Werte wieder in die Bereiche geschrieben.

Nach Änderungen kannst du auch manuell über den Aufruf "Reset_Values" die Originalwerte zurückschreiben.

Grüße
Steffen


  

Betrifft: AW: Zelleninhalt zurücksetzen von: Kaspar
Geschrieben am: 15.02.2012 16:03:20

Hallo Steffen

Irgendwie funktioniert es nicht ganz. Es kommt ständig die Meldung "Fehler beim Kompilieren". Weisst du allenfalls woran dies liegen kann?

Beste Grüsse
Kaspar


  

Betrifft: AW: Zelleninhalt zurücksetzen von: CitizenX
Geschrieben am: 16.02.2012 07:32:02

Moin,

wenn du mir vlt noch verrätst wann und wo der Fehler auftritt, dann ja ;-)


Alternative könntest du noch folgende Methode probieren:

Code in ein allgemeines Modul

Sub goforit()
'Josef Ehrensberger Methode
Application.OnTime Now + TimeValue("00:00:02"), "huhu"
ThisWorkbook.Close SaveChanges:=False
End Sub
Sub huhu()

End Sub
Grüße
Steffen


Beiträge aus den Excel-Beispielen zum Thema "Zelleninhalt zurücksetzen"