Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

laufende Nummer bei Dateiöffnung





Frage

Hallo, wie ist es möglich das automatisch eine laufende Nummer beim Öffnen einer Excel-Datei in eine Zelle geschrieben wird. Das heißt beim wiederholtem Öffnen sollte die nächst folgende Nummer in der Datei erscheinen. Ist das überhaupt möglich? Wer kennt sich hier aus? Gruß Harry

Antwort 1 von want2cu

Hallo Harry,

so was wurde hier schon mal gefragt zu einer fortlaufenden Rechnungsnummer.
Ist schon ein wenig her aber mit der Suche durchaus zu finden.
Die Frage wurde m.E. über VBA gelöst.

CU
want2cu

Antwort 2 von Coolpix

hi Harry,

versuch's mal hiermit:


Public Sub Auto_Open()
Dim Wert As Long
Wert = Sheets("Tabelle1").Range("A1").Value
Sheets("Tabelle1").Range("A1").Value = Wert + 1
End Sub


Makro in ein beliebiges Modul der Tabelle einfügen...
Blattname und Zelle anpassen... that's it


Feedback wäre nett !!

Greetings ;-)

Antwort 3 von HarryBelafonte

Bin mir nicht ganz sicher, ob ich alles korrekt ausgeführt hab, weil bei der Ausführung des Makros immer die Meldung "Index liegt ausserhalb des Bereichs erscheint".

Da ich mich in mit VB Codes eigentlich gar nicht auskenne und ich nicht so richtig weiß wie ich das mit der Excel-Datei verbinden kann, wäre es klasse von dir wenn du mir da eine Kurzbeschreibung mit den einzelnen Details geben könntest.

Gruß Harry


Antwort 4 von Coolpix

Hallo nochmal,

Du hast [ZENS] kein Tabellenblatt, das Tabelle1 heißt.

Das mußt du natürlich anpassen.
Wenn dein Tabellenblatt "Übersicht" heißt dann muß das auch in VBA "sheets("Übersicht)..." heißen.

Greetings ;-)

Antwort 5 von HarryBelafonte

Naja, da hab ich mich schon ein wenig doof angestellt.
So das Makro funktioniert bei manueller Ausführung. Ich speicherte die Datei ab und öffnete sie wieder. Jedoch wird hierbei das Makro nicht automatisch aktiv. Das bedeutet, dass die Nummer, die beim Speichern vorhanden war, die gleiche Nummer bleibt, wenn die Datei wieder neu aufgerufen wird.

Vielleicht andere Idee?

Gruß Harry

Antwort 6 von Coolpix

hallo nochmal,

wenn das Makro

Public Sub Auto_Open()

heißt...

dann wird es beim Mappenstart automatisch ausgeführt !

..wenn es nicht genau so heißt dann nicht !

Greetings ;-)

Antwort 7 von nighty

hi alle :)

wenn ich dann aushelfen darf :)

einzufuegen alt f11(vbeditor)/projektexplorer/DeineArbeitsmappe

gruss nighty

Antwort 8 von HarryBelafonte

Funktioniert immer noch nicht :-(
Nochmal meine getätigten Schritte:
=> neues Modul erstellt
=> Code eingetragen
=> Blattname und Zelle an Code angepasst
=> Suchte verzweifelt den Namen des Makros zu ändern. Derzeitiger Name "Auto Open"

Ich bin ich absoluter Anfänger, deswegen benötige ich eine Schritt für Schritt Erklärung.
Ich weiß das ich nervig bin, aber Du hast bestimmt auch irgendwann mal angefangen.

Es wäre schön wenn du mir dabei helfen könntest.

Gruß Harry

Antwort 9 von Coolpix

also....

1. öfnne deine Excelmappe
2. drücke Alt+F11
3. füge ein neues Modul ein (Menü Einfügen -> Modul)
4. füge genau das ein was hier in dem blauen Kästchen steht:

Den Unterstrich zw Auto und Open nicht vergessen !!


Public Sub Auto_Open()
Dim Wert As Long
Wert = Sheets("Tabelle1").Range("A1").Value
Sheets("Tabelle1").Range("A1").Value = Wert + 1
End Sub

kopiers'über die Zwischenablage

Blaues Feld markieren --- Strg+C --- wechseln in den VBA-Editor -> neues Modul --- Strg+V

5. Passe Tabellennamen und Zelle an
6. Speichern des Codes
7. Schließen der Tabelle
8. Öffen der Tabelle
9. und ??



Antwort 10 von HarryBelafonte

Hey, du bist echt der größte!
DANKE
Das Formular, mit der laufenden Nummer, sollte immer in blanco erhalten bleiben. Damit muss es immer unter einem anderen Dateinamen gespeichert werden.
Bei diesem Code muss jedoch immer wieder unter dem gleichen Dateinamen gespeichert werden, damit das Makro die fortlaufende Nummern vergibt.

Verstehst du was ich meine?
Gibt es dafür auch eine Lösung?


Antwort 11 von sicci

Hallo Harry,

.. wenn Du das Makro ein wenig erweiterst:


Public Sub Auto_Open()
Dim Wert As Long
Wert = Sheets("Tabelle1").Range("A1").Value
Sheets("Tabelle1").Range("A1").Value = Wert + 1
Workbooks.Add
With Range("A1")
  .Formula = "='[Haupt.xls]Tabelle1'!$A$1"
  .Copy
  .PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
End Sub 
* '[Haupt.xls]Tabelle1'! * wieder an Deine Namen anpassen

wird Dir eine neue Mappe mit der gerade generierten lfd.Nr. erzeugt, die Du weiterbearbeiten und unter beliebigem Namen speichern kannst. Die ursprüngliche Mappe kannst Du so immer blanko unter demselben Namen beibehalten. Sie muß vor dem (Test)lauf einmalig gespeichert werden, sonst hat sie die '.xls' Endung noch nicht und das Makro bringt einen Fehler.

Gruß
sicci

Antwort 12 von 1301didi

Vor langer Zeit hatte ich zu aller Zufriedenheit ein Programm mit Access geschrieben. Das Programm hatte ein Formular/Unterformular. Das Unterformular war tabellenförmig aufgebaut.

Gegenstände mussten einer bestimmten Person zugeordnet werden. Wenn z. B. Paul Müller die ID Nr, 1 hatte, dann konnten im Unterformular beliebig viele Gegenstünde der ID Nr. 1 zugeordnet werden.

Nun, da wir kein Access mehr verwenden dürfen. habe ich etwas in Excel geschrieben. Hierbei bin ich nicht mehr so flexibel. Ich kann nur, so habe ich es geschrieben, 10 Gegenstände einer Person zuschreiben. Da die Tabelle nicht untereinander, sonder nebeneinander, kann ich auch nur schwierig feststellen, was schon heraus gegeben wurde und was nicht.

Gibt es eine Möglichkeit der Userform mir Formular und Unterformular?

Jürgen Diedmann


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: