Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1112to1116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

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
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

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige