ERLEDIGT
NEIN
NEIN
ANTWORTEN
18
18
ZUGRIFFE
1009
1009
EMPFEHLEN
-
Hallo zusammen, ich bekomme eine Sache nicht ganz zuende hin. Ein Ansatz habe ich schon, aber es klappt noch nicht so ganz.
Also:
Ich habe Spalte A im excel fixiert. Darin sind unzählige Auftragsnummern. Die möchte ich einzeln
in der Datenmaske durch ein Button auslesen können. Undzwar so, dass bei jedem Klick, die nächste Auftr.-Nr erscheint.
Ich hab es so versucht:
Private Sub CommandButton1_Click()
Dim RowCount As Long
With Worksheets("Daten")
RowCount = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Me.TextBox6.Value = .Cells(RowCount, 1).Value
End With
End Sub
MFG Ka-may
-
17.08.10 16:36 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Ist der Button bzw. ist die Textbox in einer UserForm oder wo****
Wenn immer die nächste Auftragsnummer angezeigt werden soll, dann musst du auch irgendwo die zuletzt angezeigte Nummer/Zeile speichern.
Im Moment liest du nur den Wert der letzten Zeile + 1 (also einer leeren Zelle) aus.
Ich habe jetzt mal eine Form mit einem Button und einem Textfeld gebastelt. Hier der Code dazu:
Code vb:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Dim zeile Private Sub CommandButton1_Click() 'prüfen ob schon eine Zeilennummer vorhanden ist If zeile = 0 Then zeile = 1 With Worksheets(1) Me.TextBox1.Value = .Cells(zeile, 1).Value If zeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 Then Exit Sub Else: zeile = zeile + 1 End If End With End Sub
Die Variable zeile bekommt die letzte Zeilennummer (oder 1). Durch klicken auf den Button wird dann hochgezählt.
Ist jetzt nur auf die Schnelle aber es geht.Geändert von tombe (17.08.10 um 16:47 Uhr)
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Hey, vielen Dank für die schnelle Antwort.
Also es funktioniert schon mal, dass er den nächsten wert ausgibt, aber nur einmal.
Wenn ich nochmal drauf klick, dann passiert nichts.
Muss ich da noch was hinzufügen****
-
18.08.10 08:11 #4
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Müsste bei dir eigentlich funktionieren. Zumindest dann, wenn du die Variable "zeile" im allgemeinen Teil deklariert hast. Ansonsten geht ihr Wert immer wieder verloren und es wird beim nächsten Klick wieder mit 1 angefangen.
Habe jetzt allerdings nochmal was geändert und deshalb gibt es jetzt 2 Buttons in der Form.
Der erste führt im Grunde die gleiche Funktion aus wie im Beispiel oben (Code gerigfügig geändert). Der zweite verwendet zum Zählen keine Variable sondern nimmt immer die aktive/markierte Zeile als nächsten Wert.
Gruß ThomasSollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Super!! Es funktioniert, Vielen Dank!Habe jetzt den 2ten Button übernommen.
Könntest du mir noch sagen, wie ich in den Befehl schreibe, dass er sich auf die 2te tabelle dabei bezieht****Ich habe nämlich 2 Tabellen im excel. In der ersten (Hauptmenü) ist ein Button. Wenn ich darauf klicke, dann erscheint die Maske. In der zweiten tabelle werden die daten erfasst.
MFG Ka-may
-
18.08.10 10:10 #6
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Womit soll "er" sich auf die zweite Tabelle beziehen.
Sollen beim Klicken auf den Button Daten aus Tabelle2 ausgelesen und in Tabelle1 eingetragen werden oder wie?
Ansonsten stell doch mal deine Datei hier rein (ich habe Excel 2000) wenn es von den Daten her geht dann ist es vielleicht deutlicher.
Gruß ThomasSollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Ja ich glaub auch das ist dann leichter.
Also wie du sehen kannst, sind in "Hauptmenü" 2 buttons.
Mit dem ersten kann ich maske öffnen. Mit dem 2ten in die daten einsehen.
Wenn ich also die maske öffne, dann klappt das noch nicht mit dem klick auf den button (CommandButton1), weil der bezug zu tabelle2 ( Daten) fehlt.
Die Tabelle Auswertung ist unerheblich.
gruß
-
18.08.10 12:23 #8
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Womit arbeitest du, mit Excel 2003 **** Wenn ja, speichere die Datei bitte mal im Format für Excel 2000. Hab ja oben geschrieben das ich das hier habe und so kann ich die Datei von dir nicht öffnen.
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Ja stimmt, überlesen.
Habs jetzt umgestellt.
-
18.08.10 13:07 #10
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Jetzt geht es wirklich.
Habe im Code ein bisschen was geändert. Du findest die Änderungen indem du nach "NEUE ZEILE" suchst. Das "A" steht hier jeweils für Anfang und das "E" steht für Ende, ist aber immer nur eine Zeile.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
hey super es läuft einwandfrei******Genau so wollte ich das, danke!!
Ich hab da noch eine Frage: Gibt es auch die möglichkeit im vba etwas zu programmieren das funktioniert wie ein SVERWEIS****
Was ich nämlich noch vor hatte, war ein textfeld zu programmieren, dass wenn ich eine Auftr.-Nr rein schreibe, er mir in den anderen textfeldern die dazugehörigen werte ausließt, die unter dieser Auftragsnummer sind.
Quasi eine suchfunktion, damit ich im nachhinein werte verändern kann.
Hast du da eine idee****
Gruß Ka-may
-
18.08.10 14:05 #12
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Machbar ist alles.
Willst du zum Bearbeiten nun ein weiteres Formular erstellen oder sollen die Änderungen in dem vorhandenen Formular gemacht werden?
Wozu ist das Listenfeld in dem die ganzen Auftragsnummern stehen? Hier könnte man doch einfach beim Change-Ereignis hinterlegen das er die entsprechenden Daten holt. Dann noch ein weiterer Button zum "Speichern" und fertig.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Das soll in dem vorhandenem Formular erstellt werden.
Ja genau, ich wollte das erst auch mit dem listenfeld machen,dafür ist das eigentlich auch gedacht.
Nur besser wäre es mit einem textfeld, da es sonst irgendwann sehr viel zu scrollen gäbe
, wobei
man das auch eingrenzen könnte...das wär nicht so wild.
Wie genau funktioniert das denn mit dem Change-Ereignis****
-
19.08.10 08:41 #14
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Hi Ka-may,
habe jetzt die Datei bzw. das Formular nochmal ein bisschen verändert.
Wenn jetzt im Listenfeld eine Auftragsnummer ausgewählt wird, werden die dazugehörigen Daten in die Textfelder eingertragen und können verändert werden. Die Auftragsnummer selber kann jedoch nicht mehr geändert werden!
Die Funktion des Buttons "Nummer suchen" habe ich so geändert das nicht durch die vorhandenen Auftragsnummer geblättert wird sondern das die letzte/höchste vorhandene Nummer ermittelt, um 1 erhöht und so als neue Auftragsnummer in die Liste eingetragen wird.
Dies setzt voraus das die in der Tabelle vorhandenen Angaben immer mit "A-" anfangen und dann eine Zahl kommt.
Werden hier jetzt die restlichen Felder beschrieben und auf Speichern geklickt, wird eine neuer Eintrag in der Tabelle "Daten" gemacht.
Hoffe mal es passt so wie du es haben willst.
Gruß ThomasSollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Man Wahnsinn, Vielen Dank! Du hast mir ca. 100 Jahre arbeit ersparrt.

Genau so wollte ich das haben.
Nochmal Danke!
Gruß Ka-may
Ähnliche Themen
-
Aus einer SQL Tabelle mehrere verschiedene Werte einer Spalte auslesen
Von supercat1510 im Forum PHPAntworten: 5Letzter Beitrag: 02.06.10, 12:52 -
Mysql/PHP - Letzte und nächste Zeile auslesen
Von MastaDaDesasta im Forum PHPAntworten: 1Letzter Beitrag: 15.02.05, 21:04 -
nächste array zeile mit klick auf link auslesen
Von forsterm im Forum PHPAntworten: 6Letzter Beitrag: 23.01.05, 13:18 -
menge einer Spalte in einer Tabelle auslesen
Von Spacejumper im Forum PHPAntworten: 9Letzter Beitrag: 15.12.04, 12:25 -
Aus einer text zeile auslesen immer nach einer bestimmten länge!
Von Benjamin4000 im Forum PHPAntworten: 3Letzter Beitrag: 06.05.02, 16:01





Zitieren

Login




