Registriert seit: 22.10.2017
Version(en): 2016
Hallo Liebe Forum-Mitglieder, Ich habe heute wieder ein neues Problem. Ich habe zu meiner Arbeitsmappe hier im Forum schon dazu sehr gute Hilfe bekommen. Heute habe ich folgendes Problem: Ich habe eine Startform, dort gibt es den Button "Neue Ziehungen eingeben". Diese Ruft eine Eingabeform auf, in der ich die Ziehungen entweder für Mittwochs oder Samstag eingebe. Diese Zahlen werden korrekt in den Tabellenblättern "Samstagsziehungen" und "Mittwochsziehungen" abgespeichert. Jetzt sollen die Zahlen aber zusätzlich von dort auch in die Tabellen "Lotto-Uhr-Samstag" in Spalte U bis AA "Lotto-Uhr-Mittwoch" in Spalte U bis AA "Kreuz-Tipp-Samstag" in Spalte BX bis CE "Kreuz-Tipp-Mittwoch" in Spalte BX bis CE "Münz-Tipp-Samstag" in Spalte Z bis AG für Samstagsziehungen und in Spalte AI bis AP für Mittwochsziehungen abgespeichert werden. kann man den bestehenden Code dafür erweitern? In der Excel-Mappe habe ich noch zusätzliche Informationen. Gruß Mike
Lotto_Kampf - Kopie.xlsm (Größe: 255,56 KB / Downloads: 5)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
in Deinem Makro für die Eintragungen brauchst Du einen weiteren Parameter für die Spaltenangabe.
jetzt: Sub eintragenZ(targetSheet As String, dtDate As Date, iZ1 As Integer, iZ2 As Integer, iZ3 As Integer, iZ4 As Integer, iZ5 As Integer, iZ6 As Integer, iZZ As Integer)
dann Sub eintragenZ(targetSheet As String, dtDate As Date, iZ1 As Integer, iZ2 As Integer, iZ3 As Integer, iZ4 As Integer, iZ5 As Integer, iZ6 As Integer, iZZ As Integer, Optional iCol as Integer = 0)
und bei den Spaltenangaben
....Cells(....., 1 + iCol)
Der Aufruf im Userformcode ist dann z.B.
eintragenZ "Lotto-Uhr-Samstag", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Column("U")-1
und das gibst Du dann entsprechend noch für die anderen Blätter ein.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• MdeJong
Registriert seit: 12.04.2014
Version(en): Office 365
Moin
Wenn du so weiter machst haben dir die Foren-Helfer irgendwann die komplette Anwendung programmiert.
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 22.10.2017
Version(en): 2016
(02.07.2020, 19:48)shift-del schrieb: Moin
Wenn du so weiter machst haben dir die Foren-Helfer irgendwann die komplette Anwendung programmiert. Bis ich programmieren kann, bin ich wahrscheinlich nicht mehr auf dieser Welt?! Ich bi froh, das ich Excel soweit schon bedienen kann. Du gönnst mir die Hilfe nicht, oder? :)
Registriert seit: 12.04.2014
Version(en): Office 365
Ich bin nur der Ansicht dass man mit offenen Karten spielen soll. Wenn es dein Wunsch ist das jemand das für dich komplett programmieren soll dann solltest du das auch so kommunizieren.
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 22.10.2017
Version(en): 2016
02.07.2020, 20:36
(Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2020, 23:45 von Kuwer.)
(02.07.2020, 20:25)shift-del schrieb: Ich bin nur der Ansicht dass man mit offenen Karten spielen soll. Wenn es dein Wunsch ist das jemand das für dich komplett programmieren soll dann solltest du das auch so kommunizieren. Hallo shift-del, ich dachte das es üblich ist, das jeder hier seinen Beitrag dazu beitragen kann?......habe nichts böses dabei gedacht, oder drum herum reden wollen. Bin schon oft hier angemacht worden. Ich arbeite gerne mit Excel....aber VBA...da habe ich wirklich 2 linke Hände :05: Wenn es Interessenten gibt, die mir komplett allein dabei helfen wollen, wäre das natürlich super. mein Projekt ist sicherlich noch Ausbaubar......das sehe ich aber immer erst später, was noch fehlt! Gruß Mike
(02.07.2020, 19:36)schauan schrieb: Hallöchen,
in Deinem Makro für die Eintragungen brauchst Du einen weiteren Parameter für die Spaltenangabe.
jetzt: Sub eintragenZ(targetSheet As String, dtDate As Date, iZ1 As Integer, iZ2 As Integer, iZ3 As Integer, iZ4 As Integer, iZ5 As Integer, iZ6 As Integer, iZZ As Integer)
dann Sub eintragenZ(targetSheet As String, dtDate As Date, iZ1 As Integer, iZ2 As Integer, iZ3 As Integer, iZ4 As Integer, iZ5 As Integer, iZ6 As Integer, iZZ As Integer, Optional iCol as Integer = 0)
und bei den Spaltenangaben
....Cells(....., 1 + iCol)
Der Aufruf im Userformcode ist dann z.B.
eintragenZ "Lotto-Uhr-Samstag", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Column("U")-1
und das gibst Du dann entsprechend noch für die anderen Blätter ein. Danke schauan.........ich bin mir nicht ganz sicher, in welchem Code ich das eintragen soll?
Registriert seit: 22.10.2017
Version(en): 2016
02.07.2020, 21:22
(Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2020, 21:27 von MdeJong.)
Hallo schauan, also bis auf diese Angabe ....Cells(....., 1 + iCol)habe ich ....glaube ich alles gefunden, wo ich es einsetzen soll.Die oberste Zeile.......weiss ich nicht wie und wo sie eingetragen werden soll ?GrußMike
Ist das so korrekt? Code: Sub eintragenZ(targetSheet As String, dtDate As Date, iZ1 As Integer, iZ2 As Integer, iZ3 As Integer, iZ4 As Integer, iZ5 As Integer, iZ6 As Integer, iZZ As Integer, Optional iCol As Integer = 0) ' ' Schaltfläche4_Klicken Makro
Dim lfdNr As Long With Sheets(targetSheet) lfdNr = .Cells(Rows.Count, 1).End(xlUp).Row .Cells(lfdNr + 1, 1 + iCol).NumberFormat = "m/d/yyyy" .Cells(lfdNr + 1, 1 + iCol).Value = CDate(dtDate) .Cells(lfdNr + 1, 2 + iCol) = Format(CStr(dtDate), "dddd") .Cells(lfdNr + 1, 3 + iCol) = .Cells(lfdNr, 3) + 1 .Cells(lfdNr + 1, 4 + iCol) = iZ1 .Cells(lfdNr + 1, 5 + iCol) = iZ2 .Cells(lfdNr + 1, 6 + iCol) = iZ3 .Cells(lfdNr + 1, 7 + iCol) = iZ4 .Cells(lfdNr + 1, 8 + iCol) = iZ5 .Cells(lfdNr + 1, 9 + iCol) = iZ6 .Cells(lfdNr + 1, 10 + iCol) = iZZ End With End Sub
und in dem anderen Code so? Code: Private Sub cbSaveZ_Click() Dim ctrl As Control, bCheck As Boolean
bCheck = True
For Each ctrl In Me.Controls If TypeName(ctrl) = "TextBox" Then If ctrl = "" Then ctrl.BackColor = vbYellow bCheck = False Else ctrl.BackColor = vbWhite End If End If Next
If bCheck = False Then MsgBox "Fehlende Werte" Exit Sub End If Dim sSheet As String If tbDatum <> "" Then If IsDate(tbDatum) Then Select Case WorksheetFunction.Weekday(CDate(tbDatum), 2) Case 6 sSheet = "Samstagziehungen" Case 3 sSheet = "Mittwochsziehung" Case Else tbDatum.SetFocus MsgBox "Datum kein Mittwoch oder Samstag" Exit Sub End Select eintragenZ sSheet, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ eintragenZ "Lotto-Uhr-Samstag", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Column("U") - 1 eintragenZ "Lotto-Uhr-Mittwoch", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Column("U") - 1 eintragenZ "Kreuz-Tipp-Samstag", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Column("U") - 1 eintragenZ "Kreuz-Tipp-Mittwoch", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Column("U") - 1 eintragenZ "Münztipp-Samstag", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Column("U") - 1 For Each ctrl In Me.Controls If TypeName(ctrl) = "TextBox" Then ctrl = "" Next MsgBox "Ziehung eingetragen" Else MsgBox "kein Datum" End If Else MsgBox "Datum fehlt" End If End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
erst mal eine kleine Ergänzung. Korrekt wäre Columns("U").Column usw., weil wir ja die Spaltennummer benötigen ... ansonsten ja, aber iCol auch noch in der Zeile einarbeiten, es soll doch sicher z.B. in Spalte U nach dem letzten Eintrag gesucht werden?: lfdNr = .Cells(Rows.Count, 1).End(xlUp).Row
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• MdeJong
Registriert seit: 22.10.2017
Version(en): 2016
02.07.2020, 22:04
(Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2020, 22:15 von MdeJong.)
ich habe das jetzt so verstanden und geändert? Code: eintragenZ sSheet, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ eintragenZ "Lotto-Uhr-Samstag", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'eintragenZ Lotto - Uhr - Mittwoch, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'eintragenZ Kreuz - Tipp - Samstag, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'eintragenZ Kreuz - Tipp - Mittwoch, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'eintragenZ Münztipp - Samstag, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'lfdNr = .Cells(Rows.Count, 1).End(xlUp).Row
bekomme aber eine Fehlermeldung..Typenunverträglichkeit die mit dem ' Zeichen habe ich erst einmal ausgeblendet...wollte erst eine Tabelle ausprobieren, ob etwas dort gespeichert wird
Hallo schauan, ich glaube so meintes du das oder?.....zumind. werden schon mal die Zahlen in der Tabelle "Lotto-Uhr-Samstag " eingetragen, nur halt nicht in der unteren freien Zeile Code: eintragenZ sSheet, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ eintragenZ "Lotto-Uhr-Samstag", tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U").Column - 1 'eintragenZ Lotto - Uhr - Mittwoch, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'eintragenZ Kreuz - Tipp - Samstag, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'eintragenZ Kreuz - Tipp - Mittwoch, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'eintragenZ Münztipp - Samstag, tbDatum, tb1, tb2, tb3, tb4, tb5, tb6, tbSZ, Columns("U") - 1 'lfdNr = .Cells(Rows.Count, 1).End(xlUp).Row For Each ctrl In Me.Controls If TypeName(ctrl) = "TextBox" Then ctrl = ""
Wie ich diese Zeile im Code einbaue lfdNr = .Cells(Rows.Count, 1).End(xlUp).Rowweiß ich nicht...bekomme dazu eine Fehlermeldung
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, Wie ich diese Zeile im Code einbaue Code: lfdNr = .Cells(Rows.Count, 1).End(xlUp).Row
die Zeile ist doch schon drin Code: ' Schaltfläche4_Klicken Makro
Dim lfdNr As Long With Sheets(targetSheet) lfdNr = .Cells(Rows.Count, 1).End(xlUp).Row .Cells(lfdNr + 1, 1 + iCol).NumberFormat = "m/d/yyyy"
nur sollst Du auch hier noch das mit den Columns ... verarbeiten, also dann Code: lfdNr = .Cells(Rows.Count, 1 + iCol).End(xlUp).Row
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• MdeJong
|