Option Explicit '--piz02 Private Sub cmdCalc_Click() Dim Y As Long, Line As Long, PNum As Long Dim c, ptype, pquant Range("sums").ClearContents For Line = 1 To 3 For Y = 1 To main.maxTage c = Range("line1").Offset(Y - 1, (Line - 1) * 3) If c <> "" Then ''aha, neue Kampagne.... ptype = c ''MsgBox y, , "neue Kampagne" PNum = findProdNum(ptype) End If pquant = Range("line1").Offset(Y - 1, (Line - 1) * 3 + 1) ''MsgBox ptype, , pquant [sorte1].Offset(PNum - 1, 2) = [sorte1].Offset(PNum - 1, 2) + pquant Next Y Next Line End Sub '--piz03 Private Sub cmdClear1_Click() Dim Ro1 As Long, Ro2 As Long, Co As Long Co = ActiveCell.Column Ro1 = main.findProdBeginRow Ro2 = main.findNextProdRow - 1 Range(Cells(Ro1, Co), Cells(Ro2, Co + 1)).Select If MsgBox("wirklich diese Kampagne löschen?", vbYesNoCancel, "myprog") = vbYes Then Selection.ClearContents Call cmdCalc_Click End If Cells(Ro1, Co).Select End Sub 'alter Stand des cmdNewp_Click in Version pizza04: '--piz04 ''Private Sub cmdNewP_Click() ''frmJob.Show ''End Sub '--piz05 (wurde schon in pizza04 angelegt, siehe oben) Private Sub cmdNewP_Click() Dim Ro As Long, oldRo As Long, Co As Long, D As Long, v As Long, R2 As Long Ro = ActiveCell.Row: Co = ActiveCell.Column: oldRo = Ro 'korrekter eingabe-bereich? ................. If Ro < 5 Or Ro > [maxro] Then GoTo mySubEnd If Co <> 4 And Co <> 7 And Co <> 10 Then GoTo mySubEnd 'vorgabewerte für userform berechnen............. [Prenam] = main.findVorProd '...vorprod ermitteln [PreNum] = main.findProdNum([Prenam]) '... produktnr. des Vorprods laut Liste [daystonext] = main.findNextProdRow - Ro frmJob.lbDaystoNext.Caption = [daystonext] frmJob.tbDays.Value = [daystonext] [Days] = [daystonext] [daysToMonEnd] = [maxro] - Ro + 1 '' später für variable Monatslänge erweitern! frmJob.lbDaystomonend.Caption = [daysToMonEnd] [Nexnam] = Cells(Ro + [daystonext], Co) [nexNum] = main.findProdNum([Nexnam]) [daystoprolong] = 0 frmJob.lbDaystoprolong.Caption = "" frmJob.tbQuantperjob.Visible = False frmJob.tbDays.Visible = False frmJob.OptionButton1.Visible = False frmJob.OptionButton2.Visible = False 'userform aufrufen myCancelled = True '.. form könnte ja auch durch window-close ohne cancel-button geschlossen werden frmJob.Show If myCancelled Then GoTo mySubEnd ''Exit Sub 'Kampagne eintragen..... ' ggf Namen eintragen....... If [PNam] <> [Prenam] Then Cells(Ro, Co) = [PNam] 'name nur wenn ungleich vorprod Else Cells(Ro, Co) = "" ''sicherheitshalber löschen falls hier etwas übeschrieben wurde End If 'Mengen eintragen..... Call writeQuants(Ro, Co) mySubEnd: End Sub