Anzeige
Archiv - Navigation
1036to1040
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Excel Daten in einer Datei speichern
07.01.2009 17:33:00
rwrw
hi,
weiss einer wie man Excel Daten in einer Datei abspeichern und wieder reinladen kann ?
Beispiel:
B2 bis B13 und B2 bis BA2 die Daten die in den Zellen stehen sollen per Button abgespeichert werden.
Beim Öffnen von der Excel-Datei sollen die abgespeicherten Daten wieder in den Zellen geladen werden.
Gruß
rwrw

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Daten in einer Datei speichern
07.01.2009 17:53:56
Tino
Hallo,
so richtig verstehe ich die Frage nicht,
wenn Du doch die Datei speicherst bleiben die Daten doch darin.
Eventuell schau Dir mal in der Hilfe die
SaveSetting und die GetSetting- Anweisung an.
Gruß Tino
hier ein Beispiel
07.01.2009 19:16:00
Tino
Hallo,
hier mal ein Beispiel wie ich es gemeint habe.

'Daten in Registrierung speichern 
Sub SaveMyData()
Dim Bereich As Range, Zelle As Range
Set Bereich = Union(Range("B2:B13"), Range("C2:BA2"))

For Each Zelle In Bereich
 SaveSetting ThisWorkbook.Name, ActiveSheet.Name, Zelle.Address, Zelle.Value
Next Zelle

End Sub

'Daten aus Registrierung lesen 
Sub ReadMyData()
Dim Bereich As Range, Zelle As Range
Dim Wert
Set Bereich = Union(Range("B2:B13"), Range("C2:BA2"))

For Each Zelle In Bereich
 Wert = GetSetting(ThisWorkbook.Name, ActiveSheet.Name, Zelle.Address, "Fehler")
 If Wert = "Fehler" Then
  MsgBox "Daten müssen zuvor mit SaveSetting geschrieben werden!", vbCritical
  Exit For
 End If
 
 Zelle = Wert

Next Zelle
End Sub

'Daten aus Registrierung löschen 
Sub LoescheMyData()
On Error Resume Next
 DeleteSetting ThisWorkbook.Name
End Sub


Gruß Tino

Anzeige
AW: hier ein Beispiel
07.01.2009 19:29:48
rwrw
wunderbar!
das ist es. eine frage hab ich noch.
es wird ja B2 bis B13 und C2 bis BA2 gespeichert.
geht das auch wenn man B2:B13 , C2:C13, und D2:D13 sowie C3:BA3, C4:BA4 und C4:BA4 abspeichern möchte ?
Gruß
rwrw
AW: hier ein Beispiel
07.01.2009 19:34:00
rwrw
alles kar, wunderbar es funktioniert danke !!
gruß
rwrw
AW: hier ein Beispiel
07.01.2009 19:51:00
rwrw
da macht er mir probleme!

Private Sub CommandButton1_Click()
Dim Bereich As Range, Zelle As Range
Set Bereich = Union(Range("B2:B13"), Range("C2:BA2", "C3:BA3", "C4:BA4"))
For Each Zelle In Bereich
SaveSetting ThisWorkbook.Name, ActiveSheet.Name, Zelle.Address, Zelle.Value
Next Zelle
End Sub


fehlermeldung:
Fehler beim kompilieren:
falsche anzahl an argumenten oder ungültige eigenschaftszuweisung

Anzeige
so sollte es gehen...
07.01.2009 19:59:00
Tino
Hallo,
VBA Gut?
versuche es mal so,
Sub SaveMyData()
Dim Bereich As Range, Zelle As Range
Set Bereich = Union(Range("B2:B13"), Range("C2:BA2"), Range("C3:BA3"), Range("C4:BA4"))

For Each Zelle In Bereich
 SaveSetting ThisWorkbook.Name, ActiveSheet.Name, Zelle.Address, Zelle.Value
Next Zelle

End Sub


Sollte es Dich interessieren wo VBA diese Daten hinschreibt.
Gib unter Ausführen
regedit ein und drücke die Eingabetaste
Hangle dich zu dem Ordner
HKEY_CURRENT_USER\Software\VB and VBA Program Settings
durch
Dort solltest Du Deine Daten finden, wenn man sich die Struktur mal anschaut,
wird einem auch klar wie es funktioniert.
Gruß Tino

Anzeige
AW: so sollte es gehen...
07.01.2009 20:01:00
rwrw
DANKE!!
AW: so sollte es gehen...
07.01.2009 21:16:48
rwrw
es ist doch noch ein problem aufgetaucht.
wenn ich die daten reinlade dann wird in den zellen N2:N13 anstadt 163,125 , 163.125 angezeigt und das hat die folge, dass die zellenformatierung unter zahlen -> kategorie: von standard auf Zahl und die Dezimalstellen auf 0 gesetzt wird.
für die zellen N2:N13 habe ich eine schleife. kann man in der schleife die formatierung beeinflussen?

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For I = 2 To 13
Range("N" & I) = Range("L" & I) * Range("M" & I) 'Monatsstunden
Next I
End Sub


gruß
rwrw

Anzeige
AW: so sollte es gehen...
07.01.2009 21:27:05
rwrw
hat sich erledigt!
Lese Daten.
07.01.2009 21:31:00
Tino
Hallo,
versuche mal diese Version.

'Daten aus Registrierung lesen
Sub ReadMyData()
Dim Bereich As Range, Zelle As Range
Dim Wert
Set Bereich = Union(Range("B2:B13"), Range("C2:BA2"), Range("C3:BA3"), Range("C4:BA4"))
For Each Zelle In Bereich
Wert = GetSetting(ThisWorkbook.Name, ActiveSheet.Name, Zelle.Address, "Fehler")
If Wert = "Fehler" Then
MsgBox "Daten müssen zuvor mit SaveSetting geschrieben werden!", vbCritical
Exit For
End If
If IsNumeric(Wert) Then
Zelle = Wert * 1
Else
Zelle = Wert
End If
Next Zelle
End Sub


Gruß Tino

Anzeige
AW: Lese Daten.
07.01.2009 21:50:34
rwrw
das funktioniert auch.
danke !
versteh Bahnhof, sorry
07.01.2009 17:59:45
Matthias
Hallo
wenn Du Daten in den Zellen stehen hast, und speicherst die Datei stehen sie beim erneuten Öffnen immernoch dort wo Du sie reingeschrieben hast. oder ist das bei Dir anders ?
Gruß Matthias
AW: versteh Bahnhof, sorry
07.01.2009 18:14:00
rwrw
ich habe ein lohnprogramm in excel geschrieben.
dieses programm wird von mehreren personen benutzt.
das problem ist, dass jede person eine andere einstellung hat, zum beispiel:
krankenversicherung, pflegeversicherung, lohn usw.
wenn ich im programm was ändere und dieses verteile, dann müssen die personen alle einstellungen wieder neu eingeben. das möchte ich verhindern.
gruß
rwrw
Anzeige
jetzt versteh ich noch weniger, sorry oT
07.01.2009 18:30:00
Matthias
meinst Du Vorlagen Assistent?
07.01.2009 18:54:00
Thomas
Hallo,
meinst Du soetwas wie früher der Vorlagen Assistent? Dort kann man aber nur die Daten in einer Datenbank abspeichern aber wie das Aufrufen "Rückwärts" geht weis ich leider nicht.
Gruß Thomas
Du hat an den falschen Betrag angehängt oT
07.01.2009 19:00:00
Matthias
AW: versteh Bahnhof, sorry
07.01.2009 18:41:57
rwrw
ja!
das ist bei mir nicht anders.
beispiel 2:
3 personen benutzen lohn.xls
1. person hat unter A1= 1
2. person hat unter A1= 2
3. person hat unter A1= 3
wenn ich in der lohn.xls datei unter vb eine formel ändere, weil sich die lohnsteuer geändert hat.
dann muss ich den 3 personen die geänderte datei geben.
wenn die 3 personen die datei öffnen dann haben sie unter A1 meinen eintrag.
Gruß
rwrw
Anzeige
frag doch den UserNamen ab
07.01.2009 18:59:00
Matthias
Hallo
Ich weiß ja nicht was Du brauchst
Ist es ein Netzwerk oder wie unterscheidest Du die Personen
probier die Abfrage nach
Environ("Username")
oder
Application.UserName
Je nachdem was die Abfrage zurückgibt kannst Du A1 befüllen mit 1, 2 oder 3
Gruß Matthias
AW: frag doch den UserNamen ab
07.01.2009 19:09:00
rwrw
kein netzwerk.
ich dachte, dass man die zellen von a1 bis a13 irgendwie unter vb in einer datei abspeichern kann.
und wenn man die excel-datei öffnet die abgespeicherten daten wieder in den zellen a1 bis a13 wieder reingeladen wird. es würde sogar reichen, wenn man das mit einen button macht.
zum beispiel button1 "eigene daten abspeichern" button2 "eigene daten laden"
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige