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, 18: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, 19:36
(Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2020, 22:45 von Kuwer.)
(02.07.2020, 19: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, 18: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, 20:22
(Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2020, 20: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, 21:04
(Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2020, 21: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).Row
weiß 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
|