Anzeige
Archiv - Navigation
1176to1180
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Counter aktualisieren

Counter aktualisieren
Marcus
Hallo,
wer kann helfen:
Private Sub CommandButton1_Click()
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
ActiveWorkbook.PrecisionAsDisplayed = False
End With
If MsgBox("Alles berechnet!" & Chr(13) & "Richtiges Papier eingelegt?" & Chr(13) & " _
Jetzt drucken?", vbYesNo) = vbNo Then
Exit Sub
Else
Range("H1") = 1
Dim Counter, n As Integer
Dim LoI As Long
Dim StWert As String
For Counter = Range("h6").Value To Range("h7").Value
Range("h3") = 224
Range("h5") = ""
If Counter  0 Then
If Cells(Counter, 16) = 1 Then
Range("H1") = Cells(Counter, 15)
For LoI = 1 To 1
Select Case LoI
Case 1: StWert = Cells(Counter, 22)
'Case 2: StWert = Cells(Counter, 23)
'Case 3: StWert = Cells(Counter, 24)
'Case 4: StWert = Cells(Counter, 25)
'Case 5: StWert = Cells(Counter, 26)
'Case 6: StWert = Cells(Counter, 27)
'Case 7: StWert = Cells(Counter, 28)
End Select
ActiveSheet.PrintOut
Next LoI
End If
End If
Range("h3") = 221
Range("h5") = ""
If Counter  0 Then
If Cells(Counter, 16) = 2 Then
Range("H1") = Cells(Counter, 15)
For LoI = 2 To 2
Select Case LoI
'Case 1: StWert = Cells(Counter, 22)
Case 2: StWert = Cells(Counter, 23)
'Case 3: StWert = Cells(Counter, 24)
'Case 4: StWert = Cells(Counter, 25)
'Case 5: StWert = Cells(Counter, 26)
'Case 6: StWert = Cells(Counter, 27)
'Case 7: StWert = Cells(Counter, 28)
End Select
ActiveSheet.PrintOut
Next LoI
End If
End If
Range("h3") = 221
Range("h5") = 1
If Counter  0 Then
If Cells(Counter, 16) = 3 Then
Range("H1") = Cells(Counter, 15)
For LoI = 3 To 3
Select Case LoI
'Case 1: StWert = Cells(Counter, 22)
'Case 2: StWert = Cells(Counter, 23)
Case 3: StWert = Cells(Counter, 24)
'Case 4: StWert = Cells(Counter, 25)
'Case 5: StWert = Cells(Counter, 26)
'Case 6: StWert = Cells(Counter, 27)
'Case 7: StWert = Cells(Counter, 28)
End Select
ActiveSheet.PrintOut
Next LoI
End If
End If
Range("h3") = 222
Range("h5") = ""
If Counter  0 Then
If Cells(Counter, 16) = 4 Then
Range("H1") = Cells(Counter, 15)
For LoI = 4 To 4
Select Case LoI
'Case 1: StWert = Cells(Counter, 22)
'Case 2: StWert = Cells(Counter, 23)
'Case 3: StWert = Cells(Counter, 24)
Case 4: StWert = Cells(Counter, 25)
'Case 5: StWert = Cells(Counter, 26)
'Case 6: StWert = Cells(Counter, 27)
'Case 7: StWert = Cells(Counter, 28)
End Select
ActiveSheet.PrintOut
Next LoI
End If
End If
Range("h3") = 223
Range("h5") = ""
If Counter  0 Then
If Cells(Counter, 16) = 5 Then
Range("H1") = Cells(Counter, 15)
For LoI = 5 To 5
Select Case LoI
'Case 1: StWert = Cells(Counter, 22)
'Case 2: StWert = Cells(Counter, 23)
'Case 3: StWert = Cells(Counter, 24)
'Case 4: StWert = Cells(Counter, 25)
Case 5: StWert = Cells(Counter, 26)
'Case 6: StWert = Cells(Counter, 27)
'Case 7: StWert = Cells(Counter, 28)
End Select
ActiveSheet.PrintOut
Next LoI
End If
End If
Range("h3") = 225
Range("h5") = ""
If Counter  0 Then
If Cells(Counter, 16) = 6 Then
Range("H1") = Cells(Counter, 15)
For LoI = 6 To 6
Select Case LoI
Case 1: StWert = Cells(Counter, 22)
'Case 2: StWert = Cells(Counter, 23)
'Case 3: StWert = Cells(Counter, 24)
'Case 4: StWert = Cells(Counter, 25)
'Case 5: StWert = Cells(Counter, 26)
Case 6: StWert = Cells(Counter, 27)
'Case 7: StWert = Cells(Counter, 28)
End Select
ActiveSheet.PrintOut
Next LoI
End If
End If
Range("h3") = 226
Range("h5") = ""
If Counter  0 Then
If Cells(Counter, 16) = 7 Then
Range("H1") = Cells(Counter, 15)
For LoI = 7 To 7
Select Case LoI
'Case 1: StWert = Cells(Counter, 22)
'Case 2: StWert = Cells(Counter, 23)
'Case 3: StWert = Cells(Counter, 24)
'Case 4: StWert = Cells(Counter, 25)
'Case 5: StWert = Cells(Counter, 26)
'Case 6: StWert = Cells(Counter, 27)
Case 7: StWert = Cells(Counter, 28)
End Select
ActiveSheet.PrintOut
Next LoI
End If
End If
Next Counter
MsgBox ("Das war's:" & " " & "Stapelanhänger gedruckt")
End If
End Sub

Mein Problem: Der Counter sollte in der For Counter = Range("h6").Value To Range("h7").Value Next Schleife bei jeder "Range("h3") = 221 bis 226" Auswahl aktualisiert werden da er sich je nach Wert (z.B. 221) ändert.
For Counter = Range("h6").Value To Range("h7").Value => h6 ist kkleinster Wert einer Auswahl und h7 ist kgrößter Wert und ist bei jeder Auswahl wie oben beschrieben veränderlich.
Ich hoffe ich hab's einigermaßen erklärt.
AW: Counter aktualisieren
16.09.2010 13:41:26
Dirk
Hallo!
Was steht denn in den Zellen H6 und H7 als Wert?
Wofuer wird den jedesmal die Zelle H3 auf diese Werte gesetzt?
Gruss
Dirk aus Dubai
AW: Counter aktualisieren
16.09.2010 13:41:50
Marcus
Hallo nochmal,
ich stelle die Frage mal anders.
Der Counter-Wert innerhalb der For-Next Schleife (For Counter = Range("h6").Value To Range("h7").Value) verändert sich. Allerdings wird bei meinem Code immer nur der erste Wert aus der Schleife (h6 bis h7) berücksichtigt. Meine Frage ist, ob ich innerhalb der Schleife irgendwie denn Counter aktualisieren kann.
Danke
Marcus
AW: Counter aktualisieren
16.09.2010 13:46:08
Marcus
Hallo Dirk,
in den Zellen h6 steht der Kkleinste Zahlenwert aus einer Exceltabelle und in h7 der Kgrößte Zahlenwert.
Mithilfe dieser Werte werden in ein Blatt per sverweis Daten ausgewählt.
Nach Anzahl Werte werden dann n - Blätter gedruckt.
Anzeige
AW: Counter aktualisieren
16.09.2010 13:46:49
Marcus
Weiß jemand eine Lösung?
AW: Counter aktualisieren
16.09.2010 14:01:35
Dirk
Hallo nochmal,
verstehe ich das richtig das Deine Schleife nur einmal durchlaeuft (nur erster wert beruecksichtigt)?
Mach doch mal einen test, ob der Wert aus h7 eine Nummer ist debug.print worksheetfunction.isnumber(Range('H6").value
Gruss
Dirk aus Dubai
AW: Counter aktualisieren
16.09.2010 14:14:23
Marcus
Hallo Dirk,
also die Werte in h6 (kkleinster Wert) und h6 (kgrößter Wert) können zwischen 1 und 832 liegen.
Deswegen habe ich den counter bezogen auf eben den kleinsten und größten Wert (h6 und h7).
Ich könnte den Counter auch in der Form

For counter = 1 to 832
laufen lassen, aber dann dauert die Schleife ne Ewigkeit.
Danke
Marcus
Anzeige
AW: Counter aktualisieren
16.09.2010 14:18:08
Dirk
Hallo!
Ist denn der Wert aus H7 wirklich groesser als der Wert in H6?
Dirk aus Dubai
AW: Counter aktualisieren
16.09.2010 14:16:15
Dirk
Hallo nochmal,
was meinst Du mit der Wert veraendert sich?
Natuerlich veraendert sich der Wert; er wird jedesmal um 1 hochgezaehlt ?
Gruss
Dirk aus Duba
AW: Counter aktualisieren
16.09.2010 14:30:15
Marcus
Hallo Dirk,
Userbild
hier mal ein Screenshot.
Also wie du siehst, h6 und h7 kkleinster und kgrößter Zahlenwert aus Spalte O.
Dazwischen können x-beliebig viele Werte liegen, also der Counter kann x-mal hochzählen.
Und immer wenn h3 innerhalb der Schleife for-next sich ändert, ändert sich gleizeitig h6 und h7 aber der Counter bleibt bei dem Wert aus h6 und h7, die beim ersten Durchlauf erkannt wurden.
DANKE
Marcus
Anzeige
AW: Counter aktualisieren
16.09.2010 14:56:23
Dirk
Hallo Marcus,
jetzt sieht das schon anders aus!
Da sich die Werte durch Deine Prozedur veraendern, musst Du erst mal definieren, wieviele Schleifendurchlaeufe Du wirklich benoetigst.
Falls die Anzahl beim Start des Makros nicht benoetigt wird, solltest Du die Anzahl anderweitig bestimmen.
Wie veraendert sich denn H6 und H7 bei Eingabe von z.B. 223 in H3?
Dirk aus Dubai
AW: Counter aktualisieren
16.09.2010 15:01:02
Marcus
Hallo Dirk,
wenn bei z.B. h3 = 223 h6 = 200 und h7 = 320 sein kann
kann dann bei h3 = 226 h6 = 1 und h7 = 400 sein.
Und dann ist es auch noch möglich, dass h6 und h7 = 0 sind bei bei z.B. h3 = 221.
Deswegen prüfe ich immer "if counter 0 then..."
Marcus
Anzeige
AW: Counter aktualisieren
16.09.2010 15:20:45
Dirk
Hallo Marcus,
was willst Du eigentlich wie oft Ausdrucken?
Gruss
Dirk
AW: Counter aktualisieren
16.09.2010 15:27:40
Marcus
Hallo Dirk,
ausgedruckt wird der Bereich a1:g21 , die Werte darin werden je nach Zahlenwert aus der Spalte O per sverweis gezogen. Die Anzahl an Blättern ergibt sich aus den Werten die zwischen h6 kkleinste und h7 kgrößte liegen und das dann für Auswahl h3 = 221 oder 222 oder 223 usw.
Danke
Marcus
AW: Counter aktualisieren
17.09.2010 06:58:41
Marcus
Guten Morgen hat jemand nen Lösungsvorschlag ?
AW: Counter aktualisieren
19.09.2010 10:04:14
Dirk
Hallo Marcus,
Warum setzt Du nicht eine Schleife fuer 221 bis 226 (oder was der letzte Wert ist), setzt dann diesen Wert fuer H3 und ziehst Dir dann die notwendige Anzahl der Blaetter aus der Tabelle (H6:H7) und druckst diese aus?
Gruss
dirk aus Dubai
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige