nhuebner
Goto Top

Autonummer beim Öffnen

Mein kleines für mich aber verdammt schwiegriges Problem ist
wenn ein User bei uns Neuangelegt wird oder etwas bei einem vorhandenem User geändert wird (Berechtigungen etc.)
müssen wir ein Formular ausfüllen dieses erstelle ich gerade,

so dass Problem ist die Excel Tabelle wird auf einem Server gespeichert wo jeder dran darf um dieses Formular zu öffnen er hat dann noch einen Button innerhalb der Tabelle mit dem es automatisch gespeichert wird und er mit diesem vorgang nichts zu tun hat, d.h.

der User öffnet immer nur die Urdatei und die kann ich schlecht mit einem Counter erstellen der zählt wie oft die Datei geöffnet wurde und somit die antragsnummer erstellt wie schaffe ich es aber es in Urdatei aber etwas zu programmieren der trotzdem wie ein counter funktioniert

ich weiss schlecht beschrieben hoffe da steigt jemand durch falls nicht einfach schreiben was unklar ist und bitte nicht einfach nur "hä?" oder ähnliches

also kurz
User - > Urdatei -> speichert sich durch Button klicken (die veränderte Datei) woanders hin
- > nächster User Urdatei

In Urdatei aber fortlaufende Auftragsnummer

Content-Key: 30325

Url: https://administrator.de/contentid/30325

Printed on: April 25, 2024 at 05:04 o'clock

Member: brammer
brammer Apr 13, 2006 at 07:38:14 (UTC)
Goto Top
Moin, moin
wenn ich dein Problem richtig verstehe, dürfte es das einfachste sein den Excel File als Mustervorlage/Formatvorlage zu speichern. Dem Speichern Button einfach einen anderen Pfad vorgeben und der Datei als Namen Datum und Uhrzeit anhängen.
Das sollte doch reichen, oder?
Member: NHuebner
NHuebner Apr 13, 2006 at 07:40:08 (UTC)
Goto Top
jein es soll in dem Formular oben rechts eine auftragsnummer stehen und die soll fortlaufend sein dachte auch das es reicht datum zeit aber es muss halt eine oben eine nummer erscheinen unabhängig vom speichern

nochmal ein andere Frage was ist bei dem Befehl falsch


Windows("Auftragsnummer.xls").Activate

eigentlich ja nix aber trotzdem sagt er mir

" Laufzeitfehler '9': "

" Index außerhalb des gültigen Bereiches "

und wie bekomme ich den Gültig ????? *verzweifel
Mitglied: 16568
16568 Apr 13, 2006 at 10:26:53 (UTC)
Goto Top
Ich dachte, es heißt:

window


Lonesome Walker
Member: NHuebner
NHuebner Apr 13, 2006 at 11:08:11 (UTC)
Goto Top
Nee face-smile dachte da auch erst dran
aber es heißt wirklick "Windows"
Mitglied: 16568
16568 Apr 13, 2006 at 11:23:57 (UTC)
Goto Top
Heißt denn das Fenster Auftragsnummer.xls?
Is die Datei schon offen?


Lonesome Walker
PS: Du kannst auch einzelne Stops/Haltepunkte in Deine Makros setzen, dann siehst Du sofort das Problem.
Member: NHuebner
NHuebner Apr 13, 2006 at 11:57:44 (UTC)
Goto Top
also das ding heisst antragsnummer hab das aber auch als ich bemerkte sofort geändert
(funktioiert aber auch mit richtigem namen nicht)

hab das mit einem Kolgen über Makroaufzeichen probiert und da tritt der gleiche fehler auf
auch wieder an der gleichen stelle

komplette script soll so ablaufen

Arbeitsblatt einblenden
öffnen der Antragsnummer.xls
kopieren eines wertes
einfügen des wertes
schließen von Antragsnummer.xls
Arbeitblatt ausblenden

eigentlich macht er auch alles es leigt wirklich nur an dem einen Befehl
(hatte ihn einmal auskommentiert und lief durch)
Mitglied: 16568
16568 Apr 13, 2006 at 12:07:10 (UTC)
Goto Top
Okay, jetzt mal langsam:

1. Datei Blahblah.xls öffnen
2. Antragsnummer.xls öffnen
3. Tabelle/Spalte/Reihe Wert einfügen
4. Antragsnummer.xls schließen (evtl. vorher mit Sub auto_close() die Datei automatisch speichern?)
5. fertig?

Man muß, bevor man eine Tabelle per Activate aufrufen kann, diese zuvor auch geöffnet haben...


Lonesome Walker
PS: Ich vergaß das Wichtigste: eigentlich is es doch Workbooks("Antragsnummer.xls").Activate ...
Member: NHuebner
NHuebner Apr 13, 2006 at 12:21:05 (UTC)
Goto Top
Ja geöffnet ist sie

habe es auch mit

Workbooks("Antragsnummer.xls").Activate

probiert gleicher Fehler

So nun nich mehr so viel Arbeit hiermit wer nich gerade Samstag arbeiten muss oder Bereitschaft hat dem Wünsch ich schöne Feiertage Erholung und Frohe Ostern

dem Rest Frohe Ostern und ihr armen Schweine

Probiere nächste Woche noch mit meinem Kolgen weiter wenn ich ne Lösung habe Poste ich nochmal falls jemanden doch eine supergeile Idee komm kann er die gerne Posten werde das WE immer mal wieder drüber schauen

Ansonste
FRohe Ostern face-smile
Member: NHuebner
NHuebner Apr 13, 2006 at 13:07:11 (UTC)
Goto Top
Alleine Gott und mein VB wissen warum aber jetzt habe ich noch mal den Befehl mit Workbooks aus probiert und neu reingeschrieben und jetzt gehts

wie gesagt alleine Gott und VB wissen warum

Trotzdem suche immer noch Hilfe zu meinem eigentlichen Problem mit dem Autocounter der zählt sobald die Datei aufgeht
Mitglied: 16568
16568 Apr 13, 2006 at 13:45:59 (UTC)
Goto Top
Siehste, darum bin ich Mod im Bereich Excel face-wink

Ich denke, Du hast anstelle Workbooks nur Workbook geschrieben


Dein Problem würde ich lösen, indem ich irgendwo auf der Tabelle einen Wert eingebe, der dann bei jedem Speichern automatisch eins hochzählt; und das Speichern würde ich automatisch mit Übergabe des Zellwertes machen...
(läßt sich mit Sub auto_open() oder Sub auto_close() sehr einfach realisieren...)

Gruß

Lonesome Walker
Member: NHuebner
NHuebner Apr 25, 2006 at 11:16:40 (UTC)
Goto Top
Da ist der "Quellcode" von meinem kolgen wie er das bei sich umgesetzt hat

Private Sub Workbook_Open()
Sheets("blattnummer").Visible = True
Sheets("antrag").Select
ChDir "Pfad"
Workbooks.Open Filename:="Pfad\TESTnummer.xls"
Columns("A:A").Select
Selection.Copy
ActiveWindow.ActivateNext
Sheets("blattnummer").Select
Columns("A:A").Select
ActiveSheet.Paste
Range("A2").Select
Sheets("antrag").Select

Dim LST As Object, rech As Object
Dim Nr As Long, z As Long

Set LST = Sheets("blattummer")
Set rech = Sheets("antrag")

z = LST.Range("a1").CurrentRegion.Rows.Count

Nr = LST.Cells(z, 1).Value

rech.Range("AI1").Value = Nr + 1

z = z + 1
LST.Cells(z, 1).Value = Nr + 1

Sheets("blattnummer").Select
Columns("A:A").Select
Selection.Copy
Windows("TESTnummer.xls").Activate <---- da bleibt er immer hängen warum wieso k.A
Columns("A:A").Select
ActiveSheet.Paste
Range("A2").Select
ActiveWorkbook.Save
ActiveWindow.Close
ActiveWindow.SelectedSheets.Visible = False
Sheets("antrag").Select
End Sub

hat sich leider noch nicht erledigt gehabt face-sad