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.

Daten aus Userform in eine Tabelle übertragen
#11
Ds kann ich Dir nicht sagen. Das Programm öffnet sich mit Userform 2. Die Button "Adressverwaltung" und "Rechnung erstellen" funktionieren problemos. Die anderen Button haben noch keine Funktion. ...Wir arbeiten dran.

Wink
Ergänze sinnvoll: Huhn ...blind ... Korn Laola
Antworten Top
#12
Hallo

anbei eine neue Beispieldatei für den Wareneinakuf.  Die Userform habe ich etwas geaendert, das Textfel Position war m.E. überflüssig. Ich habe es weggelassen und alles etwas zusammengeschoben.  Jede Eingabe wird nach dem Buchen automatisch gelöscht.  (vermeidet doppelte Eingaben).

Wenn die Daten auch noch in Tabelle4 kopiert werden sollen bitte das Makro selbst erweitern. Die LastZell suchen habe ich schon vorbereitet. Dabei gibt es eine kleine Besonderheit, die man wissen sollte. Normalerwiese suche ich die LastCell mit dem Befehl: Cells(Rows.Count, 1).End(xlUp).Row  von der letzen Zelle  (1.485.000) noch Oben.  Übliche Standard Version !!

Dieser Befehl ist bei einer Intelligenten Tabelle nicht problemlos möglich.  Da muss ich von Oben nach Unten suchen, mit der Besonderheit:  ist die erste Zelle leer, sind noch keine Daten drin (leeres Blatt), lande ich immer am Tabellen Ende! Dafür die Const Anweisung Übschutz=5000 als Überlaufschutz bei leerem Blatt.  Dann muss ich den Wert mit IF Then auf Zeile 22 korrigieren.

Bei Const Übschutz = 5000 muss der Wert der letzten Zelle der Intelligenten Tabelle angegeben werden, wenn er kleiner als 5000 ist!!  Sonst spielt es keine Rolle.  Ich nehme an das es in einem Jahr keine 5000 Daten sind, Oder??

Ich hoffe ich konnte helfen, jetzt mach ich ein wenig Pause, habe privat zu tun.

mfg  Gast 123

PS  @axımus:   Vba lernt man am schnellsten indem man sich Beispiel Makros anschaut und überlegt wie sie funktionieren.  (Siehe meine Erklaerungen zu xlUp und xlDown)  Und sehr experimentierfreudig ist, es im Beispiel selbst nachstellt!  So habe ich es auch gelernt - Versuch udn Irrtum ......


Angehängte Dateien
.xlsm   Liste - T4 F.xlsm (Größe: 76,68 KB / Downloads: 14)
Antworten Top
#13
Hallo Gast,

die neue Datei läuft perfekt. Vielen vielen Dank dafür. Allerdings benötige ich das Bemerkungsfeld trotzdem, damit ich eintragen kann, was genau ich eingekauft habe. Ich denke, das bekomme ich alleine hineingebastelt.

Was sich mir aber noch nicht erschließt ist, warum Du den "Verkauf" in ein Macro geschrieben hast und den Einkauf direkt in die UF?

LG Tanja
Ergänze sinnvoll: Huhn ...blind ... Korn Laola
Antworten Top
#14
Hallo

im Prinzip haette ich das Makro auch in die UF schreiben können. Beim entwickeln ist es etwas umstaendlicher das Codeblatt für die UF aufzuklappen.  Aus alter Gewohnheit progrmmamiere ich meistens in einem Modul. ist einfacher. Bei diesem kurzen Teil für den Einkauf habe ich es direkt in die UF geschrieben. Waren ja nur wenige Zeilen.

Laengere Makros bei Aufgaben wo ich viel Denken und in Tabellen nachschauen muss lege ich aber fast immer in ein Modulblatt. Alte Gewohnheit ...  einen besonderen technischen Grund gibt es dafür nicht.  Du kannst es so Handhaben wie du es für richtişg haelst.  Hauptsache es funktioniert.

mfg  Gast 123
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • 8337Tanja
Antworten Top
#15
Was habe ich getan?

Hallo zusammen,

wie ich schon sagte: "Kleine Ursache - große Wirkung!"
 
Irgendwie habe ich mir einen Code zerschossen und finde den Fehler nicht:

Die Daten aus dem Rechnungsformular werden nicht mehr in die Buchführung übernommen. Ich habe die Übungsdaten herausgelöscht und wollte eine fortlaufende Rechnungsnummer, die in Spalte D erscheinen soll, schreiben, danach landete jede Buchung in der 1. Zeile der Buchführung und überschrieb die vorherige Eintragung. Ich habe alles schon mehrfach mit der Vorgängerversion verglichen, kann aber den Fehler nicht finden. Daher brauche ich noch einmal Hilfe.

Wie immer schonmal vielen Dank

Tanja
Ergänze sinnvoll: Huhn ...blind ... Korn Laola
Antworten Top
#16
Hallo Tanja

kein Problem, aber lade mir bitte eine Beispieldatei mit dem geanderten Makro hoch.  (Die Daten können Fantasie sein, sind unwichtig)  
Ohne den Code zu sehen kann ich den Fehler nicht analysieren!

mfg  Gast 123
Antworten Top
#17
Ups,

ich hatte sie schon angehängt. War aber wohl zu groß. Jetzt habe ich sie verkleinert und dann sollte es funktionieren. Wäre toll, wenn Du den Fehler findest. Ein Problem ist dabei immer noch die Rechnungsnummer. Sie läuft einfach nicht.

Danke schon mal

Tanja


Angehängte Dateien
.xlsm   Liste - T4 F-1.xlsm (Größe: 431,62 KB / Downloads: 10)
Ergänze sinnvoll: Huhn ...blind ... Korn Laola
Antworten Top
#18
Hallo Tanja,

die Buttons sind da auch weg? Eventuell solltest Du bei den Änderungen schrittweise vom Original ausgehen und schauen, bei welchem Step das Problem auftritt. Dann kann man eventuell die Ursache beschreiben und auch gezielter nach einer Lösung schauen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#19
Hallo

haben den neuen Beitrag gerade gesehen und die Datei heruntergeladen, sehe sie mir morgen an.  Melde mich wieder.

mfg  Gast 123
Antworten Top
#20
Hallo

ich denke ich bin mit meiner Prüfung fertig, einen gravierenden Fehler habe ich gefunden im UserForm2 Modul!
vor dem Makro:  Private Sub UserForm_Initialize  stand der Befehl "Option Explicit", das führte zum Programmabsturz!!

Weitere gravierende Fehler habe ich nicht gefunden, aber Kleinigkeiten warum das Buchen nicht mehr funktionierte.
Soweit ich konnte habe ich Fehler korrigiert und haenge die geaenderten Codes unten an. Einfach nur austauschen.

Beim Rechnungsschreiben kann man den Befehl aendern, indem man +1 anhaengt, damit die Rechnungs Nr automatisch erhöht wird.  
In diesem Makro:  Private Sub UserForm_Initialize   diesen Befehl:  TextBox5 = Sheets(3).Range("B19") + 1

Es waren kleine Flüchtigkeitsfehler, aber mit grosser Wirkung.  Würde mich freuen wenn es jetzt einwandfrei laeuft.
Sollte trotzdem was noch nicht klappen einfach wieder melden.

mfg  Gast 123

Code:
'Modul1  Verkauf Buchen

Sub Verkauf_buchen()
'Summen Variable aus Tabelle2  (Verkauf)
Dim gSum As Currency, Einweihung As Currency, Karten As Currency
Dim Matrix As Currency, Yamura As Currency, Shop As Currency
Dim PG As String, ReNr As String, j As Integer, n As Integer
Dim Menge As Long, Preis As Currency, lz As Long
Dim TB2 As Worksheet  'Verkaufs Tabelle
Set TB2 = Worksheets("Tabelle2")

With Worksheets("Tabelle3")   '"Rechnung"
  ReNr = .Range("B19").Value
  For j = 25 To 30
     If .Cells(j, 4) <> "" Then
        n = n + 1   'Pos. Zaehler
        PG = .Cells(j, 4).Value
        Menge = .Cells(j, 6).Value
        Preis = .Cells(j, 8).Value
        gSum = .Cells(j, 9).Value
     
        If PG = "Einweihung" Then Einweihung = Einweihung + gSum
        If PG = "Karten" Then Karten = Karten + gSum
        If PG = "Matrix" Then Matrix = Matrix + gSum
        If PG = "Yamura" Then Yamura = Yamura + gSum
        If PG = "Shop" Then Shop = Shop + gSum
       
     End If
  Next j

  If n = 0 Then MsgBox "Keine Daten in Rechnung vorhanden": Exit Sub

  'LastCell in Tabelle2 suchen, Spalte B
  lz = TB2.Range("B21").End(xlDown).Row + 1
  If lz > 17000 Then lz = 22  'Korrektur

  'Daten aus Rechnung in Tabelle2 kopieren
  TB2.Cells(lz, 4) = ReNr       'ReNr
  TB2.Cells(lz, 5) = Einweihung 'VK1
  TB2.Cells(lz, 6) = Karten     'PG2
  TB2.Cells(lz, 7) = Matrix     'P3
  TB2.Cells(lz, 8) = Yamura     'P4
  TB2.Cells(lz, 9) = Shop       'Shop
 
  On Error Resume Next
  TB2.Cells(lz, 2) = .Range("B20").Value         'Datum
  TB2.Cells(lz, 3) = UserForm3.TextBox33.Value   'Art Text
  TB2.Cells(lz, 14) = UserForm3.TextBox31.Value  'Porto
End With
End Sub


Code:
'Private Sub CommandButton2_Click
 'nur diesen Codeteil austauschen
  ThisWorkbook.Worksheets("Tabelle3").Range("A10").Value = TextBox3.Value  'Kunden Name
  ThisWorkbook.Worksheets("Tabelle3").Range("B18").Value = TextBox1.Value  'Kunden-Nr
  ThisWorkbook.Worksheets("Tabelle3").Range("B19").Value = TextBox5.Value  'Rechnung-Nr
 
  ThisWorkbook.Worksheets("Tabelle3").Range("A25").Value = TextBox6.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("A26").Value = TextBox10.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("A27").Value = TextBox14.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("A28").Value = TextBox18.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("A29").Value = TextBox22.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("A30").Value = TextBox26.Value
 
  ThisWorkbook.Worksheets("Tabelle3").Range("F25").Value = TextBox7.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("F26").Value = TextBox11.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("F27").Value = TextBox15.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("F28").Value = TextBox19.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("F29").Value = TextBox23.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("F30").Value = TextBox27.Value
 
  ThisWorkbook.Worksheets("Tabelle3").Range("H25").Value = TextBox8.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("H26").Value = TextBox12.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("H27").Value = TextBox16.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("H28").Value = TextBox20.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("H29").Value = TextBox24.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("H30").Value = TextBox28.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("I34").Value = TextBox31.Value  'Porto
  'neu eingefügt:  P aus ComboBox 2-6   20.12.17
  ThisWorkbook.Worksheets("Tabelle3").Range("D25").Value = ComboBox2.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("D26").Value = ComboBox3.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("D27").Value = ComboBox4.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("D28").Value = ComboBox5.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("D29").Value = ComboBox6.Value
  ThisWorkbook.Worksheets("Tabelle3").Range("D30").Value = ComboBox7.Value
Antworten Top


Gehe zu:


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