MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 26.11.2010, 07:19   #1
Stefan85
Standard VBA - fortlaufende Nummer

Moint zusammen,

Ich habe folgedes Anliegen an euch,

ich habe eine User Form mit einigen TextBoxen
Ich möchte jetzt, dass eine Nummer fortlaufend in eine TextBox eingetragen wird - mit jeder neuen Eingabe um 1 erweitert - beginnend mit 2011.001
Das soll alles automatisch passieren und mit VBA Code

Dies soll dann in einer Tabelle in der Zelle B7 eingetragen werden und dann immer eine Zeile weiter runter springen.

Wer weiß wie ich das programmieren kann??? Da ich kein großer VBA-Künstler bin hoffe ich auf eure Hilfe.

Grüße
Stefan
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 07:52   #2
hary
MOF Guru
MOF Guru
Standard

Hallo Stefan
eine Moeglichkeit.
Code:

'--in den Code TextBox mit Eingabe(Name anpassen, wirkt nach verlassen der TextBox---------
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim letzte As Long
 letzte = Cells(Rows.Count, 2).End(xlUp).Row + 1
   If letzte < 7 Then
     letzte = 7
     TextBox1 = "2011.001"
     Cells(letzte, 2) = TextBox1
   Else
     TextBox1 = Left(Cells(letzte - 1, 2), 6) & Format(Right(Cells(letzte - 1, 2), 3) + 1, "00")
     Cells(letzte, 2) = TextBox1
   End If
End Sub
Bsp.-Mappe in Anhang.
gruss hary
Angehängte Dateien
Dateityp: xls Stefan85.xls (30,0 KB, 76x aufgerufen)

Geändert von hary (26.11.2010 um 07:55 Uhr).
hary ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 08:06   #3
jinx
MS-Office-Forum Team MS-Office-Forum Team
Standard

Moin, hary,

nimm doch für die Zelle ein benutzerdefiniertes Format in der Art "2011."000 - das macht das Auslesen etwas einfacher.

Und als Ereignis zum Füllen einer Textbox würde ich das Activate-Ereignis der UserForm bzw. das Schreiben in die Tabelle nehmen, bestimmt kein Verlassen einer anderen Textbox (bis dahin steht dann keine Rechnungsnummer in der ersten, oder?).

Und noch einmal der Hinweis: Gäste können keine Anhänge sehen oder herunterladen, sie müssen sich registrieren, damit sie dies können....

__________________

cu
jinx


per 31.12.2010 ausgeschiedener User und ehemaliger Excel-

Folgende Tools werden zur optischen Aufbereitung eingesetzt: Code Converter; Excel Jeanie Html
Für die allgemeinen Hinweise: Netiquette; Fragen und Antworten in Foren

eingesetzte Betriebssysteme: XP Home, XP Media Center Edition, XP Professional, Vista Ultimate, 7/Seven
verwendete Programme: Excel97 SR-2, Office 2000 SP-3, Office2002/XP SP-3, Office 2003 Professional SP-3, Office 2007 Home & Student SP-3, Office 2007 Professional SP-3
jinx ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 08:15   #4
Stefan85
Neuer Benutzer
Neuer Benutzer
Standard

Danke dir Hary
aber ich bekomm das nicht so wirklich in meinen Code gebaut...

Private Sub CommandButton1_Enter()

Dim lngZeile As Long

Cells.Borders.LineStyle = xlNone

If Range("D7") = "" Then
lngZeile = 7
Else
lngZeile = Cells(Rows.Count, 9).End(xlUp).Row + 1
End If

Cells(lngZeile, 3) = Me.TextBox3
Cells(lngZeile, 4) = Me.TextBox4
Cells(lngZeile, 5) = Me.TextBox5
Cells(lngZeile, 6) = Me.TextBox6
Cells(lngZeile, 7) = Me.TextBox7
Cells(lngZeile, 8) = Me.ComboBox1
Cells(lngZeile, 9) = Me.TextBox9

Me.ComboBox1.AddItem "1st"
Me.ComboBox1.AddItem "2nd"
Me.ComboBox1.AddItem "3rd"

Me.ComboBox1.ListIndex = 0

Me.TextBox3 = ""
Me.TextBox4 = ""
Me.TextBox5 = ""
Me.TextBox6 = ""
Me.TextBox7 = ""
Me.ComboBox1 = ""
Me.TextBox9 = ""

Range(Range("B6:J6"), Cells(Rows.Count, 7).End(xlUp)).Borders.LineStyle = xlContinuous
Range("B6:J6").BorderAround Weight:=xlThick
Range(Range("B6:J6"), Cells(Rows.Count, 7).End(xlUp)).BorderAround Weight:=xlThick

Da soll jetzt die TextBox 10 rein gebaut werden (soll aber nicht beschreibbar sein, Nummer soll automatisch bei aufruf der Eingabemaske erstellt werden - also hab ich Enabled auf false gestellt)

Die Maske habe ich mal in den Anhang gehängt

Gruß Stefan
Angehängte Grafiken
Dateityp: jpg Maske.jpg (35,2 KB, 32x aufgerufen)

Geändert von Stefan85 (26.11.2010 um 08:25 Uhr). Grund: Bild eingefügt
Stefan85 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 08:20   #5
jinx
MS-Office-Forum Team MS-Office-Forum Team
Standard

Moin, Stefan85,

häng´ Deine Mappe ran - dann wird es für Dich eingebaut...

Spannend finde ich bei einer Schaltfläche das Enter-Ereignis - ich nutze da als dummer Anwender immer nur das Click-Ereignis (also das Drücken der Schalftläche).

__________________

cu
jinx


per 31.12.2010 ausgeschiedener User und ehemaliger Excel-

Folgende Tools werden zur optischen Aufbereitung eingesetzt: Code Converter; Excel Jeanie Html
Für die allgemeinen Hinweise: Netiquette; Fragen und Antworten in Foren

eingesetzte Betriebssysteme: XP Home, XP Media Center Edition, XP Professional, Vista Ultimate, 7/Seven
verwendete Programme: Excel97 SR-2, Office 2000 SP-3, Office2002/XP SP-3, Office 2003 Professional SP-3, Office 2007 Home & Student SP-3, Office 2007 Professional SP-3
jinx ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 08:29   #6
Stefan85
Neuer Benutzer
Neuer Benutzer
Standard

Schlecht die Datei rauszugeben.... Da sind Sachen drin die nicht in ein Forum gehören aus Unternehmenssicht

Hab aber mal ein Bild an meinen vorherigen Beitrag gehängt um meine Absicht zu verdeutlichen

Hoffe ihr könnt mir auch so helfen, denn VBA ist für mich wirklich ein Welt für sich
Stefan85 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 08:57   #7
jinx
MS-Office-Forum Team MS-Office-Forum Team
Standard

Moin, Stefan,

und wo in welcher Spalte soll der ominöse Wert für die TextBox10 stehen - das kann ich beim besten Willen aus der Anzeige einer UserForm nicht erkennen.

Hinter der UserForm gibt es das Ereignis Activate, welches zum anfänglichen Befüllen der Elemente genutzt werden kann, Ich bin von einem Eintrag in Spalte B für die Nummer ausgegangen, Format der Spalte B ist Text:

Code:

Private Sub UserForm_Activate()
Dim strNummer As String
Const cstrSPALTE As String = "B"
If Cells(7, cstrSPALTE) = "" Then
  strNummer = "1"
Else
  strNummer = Right(Cells(Rows.Count, cstrSPALTE).End(xlUp).Value, 3) + 1
End If

With txtBox10
  .Text = Format(strNummer, "2011\.000")
  .Enabled = False
End With
End Sub
Und ich würde nicht das Erreichen der Schaltfläche als Auslöser für das Schreiben in die Tabelle verwenden, sondern das explizite Drücken auf diese Schaltfläche (eben das Click-Ereignis), dessen Code dann um einem Zusatz analog dem Activate-Ereignis erweitert werden müsste.

Hinweis: Du prüfst Zelle D7, und wenn diese leer ist, suchst Du in Spalte I den letzten Eintrag - warum?

__________________

cu
jinx


per 31.12.2010 ausgeschiedener User und ehemaliger Excel-

Folgende Tools werden zur optischen Aufbereitung eingesetzt: Code Converter; Excel Jeanie Html
Für die allgemeinen Hinweise: Netiquette; Fragen und Antworten in Foren

eingesetzte Betriebssysteme: XP Home, XP Media Center Edition, XP Professional, Vista Ultimate, 7/Seven
verwendete Programme: Excel97 SR-2, Office 2000 SP-3, Office2002/XP SP-3, Office 2003 Professional SP-3, Office 2007 Home & Student SP-3, Office 2007 Professional SP-3

Geändert von jinx (26.11.2010 um 09:04 Uhr). Grund: Tippfehler
jinx ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 08:58   #8
hary
MOF Guru
MOF Guru
Standard

Hallo
Dann lad doch mal eine Bsp:Mappe hoch mit Dummydaten.
Wann soll die Nr erscheinen? Beim druecken des Buttons??
gruss hary
@ Jinx hatte auch geschrieben eine Moeglichkeit. Meist kommt es sowieso anders, als wie man denk. ;-))
hary ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 09:14   #9
Stefan85
Neuer Benutzer
Neuer Benutzer
Standard

Hier mal ein Beispiel

Danke für den Code jinx, aber das funktioniert auch nicht so richtig, leider....

Hier mal meine Beispeildatei

Sind noch 2 Fehler drin, der zählt nicht hoch in der User Form (es wird immer die leitzte Nummer angezeit und er fängt erst bei 002 an...

Grüße
Angehängte Dateien
Dateityp: xls Liste.xls (52,5 KB, 39x aufgerufen)
Stefan85 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 13:48   #10
Stefan85
Neuer Benutzer
Neuer Benutzer
Standard

Nach 100 versuchen geht das immer noch nicht!
Es wird sogar eine Zeile übersprungen, wenn man die Eingabemaske erneut aufruft!!!

Bitte Bitte helft mir.....

Grüße
Stefan85 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 13:58   #11
hary
MOF Guru
MOF Guru
Standard

Hallo
Kennste Frau und einkaufen?? ;-) Dauert immer etwas laenger.
schau in den Anhang.
gruss hary
Angehängte Dateien
Dateityp: xls Liste.xls (52,0 KB, 45x aufgerufen)
hary ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 14:07   #12
Stefan85
Neuer Benutzer
Neuer Benutzer
Standard

Haha ja ist schon eine Sache für sich

Also zu meinem Problem nochmal:

Ist soweit wirklich top! nur wird nicht weitergezählt wenn ich die Eingabe bestätige, sondern nur wenn ich die Maske neu aufrufe.

Ich möchte aber, dass immer wenn ein Wert in die Tabelle eingetragen wird die Nummer um eins hochzählt.

Danke dir schon mal für die Mühe

Grüße Stefan
Stefan85 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 14:18   #13
jinx
MS-Office-Forum Team MS-Office-Forum Team
Standard

Moin, Stefan,

meine Bereitschaft zur Hilfe kühlt maßlos ab, wenn ich überprüften Code einstelle, den ich dann nicht in daraufhin geposteten Beispielmappen der User wiederfinde - wohl aber deren Äußerungen, dass der Code nicht funktionieren soll...

__________________

cu
jinx


per 31.12.2010 ausgeschiedener User und ehemaliger Excel-

Folgende Tools werden zur optischen Aufbereitung eingesetzt: Code Converter; Excel Jeanie Html
Für die allgemeinen Hinweise: Netiquette; Fragen und Antworten in Foren

eingesetzte Betriebssysteme: XP Home, XP Media Center Edition, XP Professional, Vista Ultimate, 7/Seven
verwendete Programme: Excel97 SR-2, Office 2000 SP-3, Office2002/XP SP-3, Office 2003 Professional SP-3, Office 2007 Home & Student SP-3, Office 2007 Professional SP-3
jinx ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 14:23   #14
Stefan85
Neuer Benutzer
Neuer Benutzer
Standard

Sorry jinx,
aber ich versthe grad nicht was du meinst??? Was habe ich den verkehrt gemacht?

Ich will hier keinem auf die Füsse treten!

Bin neu heir und sag mir was ich beachten soll wenn was nicht so läuft

Gruß
Stefan
Stefan85 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.11.2010, 14:35   #15
hary
MOF Guru
MOF Guru
Standard

Hallo
dann so.
siehe Anhang.
gruss hary
Angehängte Dateien
Dateityp: xls Liste.xls (47,5 KB, 125x aufgerufen)
hary ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.