Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: userform in tabellenblatt Anzeigen lasen

userform in tabellenblatt Anzeigen lasen
Fredy
Hallo alle
Ich möchte in einem UserForm Daten Aus einem Tabelenblatt aufrufen und auf einem Anderen
Tabellenblatt in dafür ein gerichtete Zellen anzeigen lasen das ich es danach aus drucken kann
http://users.quick-line.ch/excel/PC%20Datenbank%20(Wiederhergestellt).xls
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: userform in tabellenblatt Anzeigen lasen
08.11.2009 13:48:13
fcs
Hallo Fredy,
die Vorgehensweise ist wie folgt:
1. Suchbegriff(e) definieren z.B. Kundennummer und/oder Auftragsnummer
2. In dem Tabellenblatt aus dem die Daten ausgelesen werden sollen die Zeile mit dem/den Suchbegriff(en) suchen. Für die Suche kannst du die Find-Methode verwenden, oder du arbeitest die Zeilen in einer For-Next-Schleife ab und vergleichst die Zellinhalte mit den Suchbegriffen.
Die gefundene Zeilennummer merkst du in einer Variablen oder auch in einer Textbox eines Userforms.
3. Jetzt kannst du die Daten zellenweise in das Zielblatt übertragen.
Ich hab dir mal das Userform "Druckassistent" entsprechend aufbereitet, so dass im Blatt "Drucken" die Auftragsseite ausgefüllt wird. In ähnlicher Weise muss du dann die beiden anderen Blätter ausfüllen.
https://www.herber.de/bbs/user/65665.xls
Ich hatte etwas Schwierigkeiten mit den Zellen, in die du per Userform Zahlenwerte eingibst, z.B. Preise. Liegt hier möglicherweise an den unterschiedlichen Zahlenformaten für Schweiz und Deutschland.
Generell sollte man aber Zahlenwerte aus Userform-Textboxen etwa wie folgt in eine Tabelle schreiben:
With Worksheets("TabelleXYZ")
Zeile = 10: Spalte = 4
If IsNumeric(Textbox1) then
.Cells(Zeile, Spalte).Value = Cdbl(Textbox1.Value)
Else
If Textbox1 = "" then  'kein Wert eingegeben
.Cells(Zeile, Spalte).Value =0
'oder
.Cells(Zeile,Spalte).ClearContents
Else
MsgBox "Für TextboxXYZ wurde keine Zahl eingegeben!"
Exit Sub
End If
End With

Gruß
Franz
PS: Prüfe in deiner Datei unbedingt noch mal die Rechtschreibung. Auch wenn Schweizer Deutsch etwas von der bei euren nördlichen Nachbarn gebräuchlichen Schreibweise abweicht, so scheinen mir da doch noch etliche Schreibfehler oder zumindest nicht einheitliche Schreibweisen vorhanden zu sein.
Anzeige
AW: userform in tabellenblatt Anzeigen lasen
09.11.2009 09:26:26
Fredy
OK erst mal Danke für den Code
Aber der ist eine Nummer zu hoch Posten sollte eigentlich die Anzahl der Produkte sein
Das habe ich auch schon geändert nur krieg ich die Aufstellung nicht mehr hin
Die sollte wie folgt aussehen
Anzahl / Artikelnumer / Bezeichnung / Preis
1 / 79873 / Kingston HyperX DDR2 4GB Kit PC2-8500 (4x 1GB) / 199
Anzeige
AW: userform in tabellenblatt Anzeigen lasen
09.11.2009 15:42:24
fcs
Hallo Fredy,
wenn die Hardware im Auftrag in einer Zeile ausgedruckt werden soll, dann mit folgender Anpassung, wobei ich das Eintragen der Bescheidungs-Daten auch noch ein wenig korrigiert hab.
Allerdings ist der Platz in den 2 Zellen für den Bezeichnungstext sehr knapp bemessen.
Gruß
Franz
geänderter Teil der Prozedur zum Anzeige-Button.
  'Daten aus Bescheidung eintragen
Zeile = CLng(Me.TextBoxBeschreidungZeile)
SpalteD = 2 'Spalte B
ZeileD = 25 'Bescheidung
With wksBescheidung
wksDrucker.Cells(ZeileD, SpalteD) = .Cells(Zeile, 5).Text _
& IIf(.Cells(Zeile, 6) = "", "", vbLf & .Cells(Zeile, 6).Text) _
& IIf(.Cells(Zeile, 7) = "", "", vbLf & .Cells(Zeile, 7).Text)
End With
' Hardware Liste eintragen
SpalteD = 1 'Spalte A _Spalte in der die Posten-Nummer eingetragen wird
ZeileD = 34 'Zeile für Werte von Posten 1
'Altdaten Hardwareliste löschen
With wksDrucker
.Range(.Cells(ZeileD, SpalteD), _
.Cells(ZeileD, SpalteD).Offset(11, 4)).ClearContents
End With
'Daten aus Blatt Hardwareliste eintragen
Zeile = CLng(Me.TextBoxHardwareZeile) 'Zeilennummer im Blatt Hardwareliste
With wksHardware
For Posten = 1 To 6
Spalte = 5 + (Posten - 1) * 4  'Spalte mit Titel "Posten X", _
in der jeweils die Anzahl steht
'Prüfen, ob Anzahl für Posten eingetragen ist
If wksHardware.Cells(Zeile, Spalte) > 0 Then
'Zeile für Posten ausfüllen
wksDrucker.Cells(ZeileD, SpalteD) _
= .Cells(Zeile, Spalte).Value 'Anzahl
wksDrucker.Cells(ZeileD, SpalteD + 1) _
= .Cells(Zeile, Spalte + 1).Value 'Artikel-Nummer
wksDrucker.Cells(ZeileD, SpalteD + 2) _
= .Cells(Zeile, Spalte + 2).Value 'Bezeichnung
wksDrucker.Cells(ZeileD, SpalteD + 4) _
= .Cells(Zeile, Spalte + 3).Value 'Preis
'Zeile nächster Posten
ZeileD = ZeileD + 2
End If
Next
End With
'Verrechnungs-Daten im Blatt "Drucker" eintragen

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige