Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel VBA Userform Programmierung HILFE
#1
Hallo zusammen,

ich benötige bitte Hilfe bei meiner Userform Programmierung.
Ich habe die Userform bereits erstellt mit einem Button zum aufrufen.

Nun muss nur noch der Speichern und Abbrechen button programmiert werden, aber da liegt das Problem, ich bekomm es nicht hin.
Anbei eine Excel, wie das ganze aussehen soll, meine Tabellenstruktur ist mit Beispielen bestückt.
Die Userform soll nun genau nach diesem Schema die Einträge machen. Im Code habe ich auch einen Kommentar dazugeschrieben, z.b. bei Kategorie.

Ich hoffe auf eure Hilfe.


Grüße
Bug77


Angehängte Dateien
.xlsm   test.xlsm (Größe: 146,57 KB / Downloads: 11)
Antworten Top
#2
HI,

Code:
Private Sub CommandButton_Abbrechen_Click()
'Userform beenden
Unload Me
End Sub
Private Sub CommandButton_Speichern_Click()
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 ' nicht rows , count
'kategorie (WENN KATEGORIE z.B. TANKEN - AUTO, DANN TRAGE ALLE WERTE IN SPALTE XXX EIN)
If ComboBox_Kategorie.Value = "Tanken / Auto" Then '??? 'naja es sollte schon der richtige Eintrag genommen werden und in "" gesetzt werden
'datum (richtige position???)
Cells(last, 1).Value = TextBox_Datum
'monat(richtige position???)
Cells(last, 1).Value = ComboBox_Monat

'Geschäft (richtige position???)
Cells(last, 1).Value = TextBox_Geschäft
'position
Cells(last, 1).Value = TextBox_Pos1
Cells(last, 1).Value = TextBox_Preis1
'...
End If 'wird auch benötigt.... sonst kommt If ohne End if
'ersteller
If OptionButton_Harald.Value = True Then Cells(last, 2).Value = "H"
If OptionButton_Yvonne.Value = True Then Cells(last, 2).Value = "Y"

End Sub
edit.
übrigens
'Geschäft (richtige position???)
Cells(last, 1).Value = TextBox_Geschäft
'position
Cells(last+1, 1).Value = TextBox_Pos1
Cells(last+2, 1).Value = TextBox_Preis1


alles an die selbe Stelle schreiben wird auch nicht funktionieren
du solltest schon die richtigen Zeilen verwenden! +1, +2, +3, usw..

hmm, da sind wohl einige "Baustellen" im Code
Sind eigentlich keine Pflichtfelder vorhanden?

lg
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#3
Hi,

ich habe Dir mal eine Alternative erstellt!
Mit Datensätzen....statt Info"salat" :)

.xlsm   mein_Vorschlag.xlsm (Größe: 35,7 KB / Downloads: 7)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#4
DOch alle Felder sind Pflicht Smile

Du verstehst aber wie da funktionieren soll?

Klar die if Befehle für die Kategorie müssen dann halt für jede Kategorie im Code geschrieben werden, ist ja eine einmalige Sache.

Wenn aber das grundlegende funktionieren würde, wärs super und ich könnt es erweitern.
Antworten Top
#5
Danke Chris, aber mir ist die Tabelle so wie sie ist wichtig (bzw. meiner Frau Smile. Da hängen noch Auswertungen und so dran.

Eine funktionierende Userform für meine Tabelle wär Mega
Antworten Top
#6
Hi,

Zitat:Da hängen noch Auswertungen und so dran.
Welche?
die wären in Sek. erledigt ;)

z.B jetzt noch nach Monat und Kategorie

.xlsm   mein_Vorschlag.xlsm (Größe: 46,61 KB / Downloads: 13)

Glaube mir wenn mit DATEN gearbeitet wird ist das Auswerten ein Klacks.
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#7
Würde trotzdem gerne meine userform für meine Tabelle haben.

Es geht ja nur darum, wohin er die Werte setzen soll.

- Datum und Verkäufer nebeneinander, mit einer Zeile Abstand zum vorherigen Eintrag.
-Beschreibung genau unter Datum und Verkäufer.
- Ersteller neben Beschreibung und davon rechts der Preis
Antworten Top
#8
Hi,

Zitat:Würde trotzdem gerne meine userform für meine Tabelle haben.
die habe ich ja belassen und keine Änderung vorgenommen?
Wenn der Aufbau der Infos gleich bleiben soll würde es ohne Userform einfacher gehen, trage die Infos einfach direkt in die Tabellen ein.

Solltest du es doch mit der Form versuchen, hier ein paar Infos wie Zellen und Tabellen in Excel angesteuert werden können:

http://www.ms-office-forum.net/forum/showpost.php?p=1294829&postcount=1

Ich selber wollte es gerade bei deinen Listen einbauen, nur.... selbst deine Spaltenüberschriften sind in den Tabellen unterschiedlich und dann sind die Einträge deiner Kategorien auch noch unterschiedlich zu den Spaltenüberschriften....
Sollte auch nur eine Spalte eingefügt werden oder eine Kategorie hinzukommen oder wegfallen passen sämtliche Spaltenzuweisungen nicht mehr...
Eine Übersicht ist auch nicht gegeben da du bereits 81! Spalten bei einer Ausgabe hast!?

Warum sollte so ein Aufbau bleiben? Ist das eine (Schul)Aufgabe?


Sooo anbei deine Datei mit Verteilung deiner Infos.

.xlsm   infos_aufteilen.xlsm (Größe: 147,64 KB / Downloads: 10)
NUR jede Änderung der Spalten oder der Kategorien bringen diese System zu Fall!
Auswertungen über Monate, Jahre, KW's nicht möglich. Ausgaben in % von Kat. oder über Monate  Jahre nicht möglich.
Generell sind keine speziellen Auswertungen ohne wenig Aufwand nicht möglich
Grafische Darstellung (Diagramme) der Ausgaben über Monate, Jahre, Personen nicht möglich.

Was bei meinen Daten sehr wohl per klick erledigt wäre ;)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#9
hi chris.

tausend dank. das funktioniert wie es soll.
ich weiss, hat seine nachteile, aber genau so will ich es.

vielen dank.

lediglich die preise werden als text gespeichert, sodass ich einen grünen pfeil im feld habe, wie kann man das noch richtig als zahl speichern?
Antworten Top
#10
Hallo bug77,

nomen est ohmen?

So einen schlechten Listenaufbau habe ich schon lange nicht mehr gesehen.

Wenn du deine Liste so wie unten abgebildet aufbaust, hast du alle Optionen, die Excel bietet, zur Auswertung zur Verfügung.

Tabelle1

ABCDEF
1DatumArtikelHändlerY / HBetragGruppe
215.09.2017KraftstoffAralH     50,00 € Auto - Tanken
316.09.2017ReparaturATUY   150,00 € Auto - Tanken
410.09.2017TomatenLidlY       1,50 € Obst
510.09.2017GurkenLidlY       2,50 € Obst
610.09.2017BrotLidlY       5,00 € Obst
710.09.2017KrautLidlY       4,00 € Obst

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

So könnte ein Ergebnis mit der Standardfunktion Teilergebnis aussehen. Das wird mit wenigen Mausklicks erzeugt. Kann mit bedingter Formatierung noch aufgehübscht werden.

Tabelle1

ABCDEF
1DatumArtikelHändlerY / HBetragGruppe
215.09.2017KraftstoffAralH     50,00 € Auto - Tanken
3H Ergebnis     50,00 €
416.09.2017ReparaturATUY   150,00 € Auto - Tanken
5Y Ergebnis   150,00 €
6   200,00 € Auto - Tanken Ergebnis
710.09.2017TomatenLidlY       1,50 € Obst
810.09.2017GurkenLidlY       2,50 € Obst
910.09.2017BrotLidlY       5,00 € Obst
1010.09.2017KrautLidlY       4,00 € Obst
11Y Ergebnis     13,00 €
12     13,00 € Obst Ergebnis
13   213,00 € Gesamtergebnis
Formeln der Tabelle
ZelleFormel
E3=TEILERGEBNIS(9;E2:E2)
E5=TEILERGEBNIS(9;E4:E4)
E6=TEILERGEBNIS(9;E2:E4)
E11=TEILERGEBNIS(9;E7:E10)
E12=TEILERGEBNIS(9;E7:E10)
E13=TEILERGEBNIS(9;E2:E10)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste