Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

von zeile zur zeile

von zeile zur zeile
16.10.2006 13:06:52
zeile
Hallo noch einmal, ich bekam vorhin schon einmal eine prof. Hilfe und deshalb wende ich mich noch einmal an Euch!
Diesen Code habe ich auf einer Befehlsschalfläche, die in der Zeile 4 liegt.
um nicht in jede Zeile einen Button zu legen, sollte immer die nächste Zeile automatisch genommen werden.
Also erst aus Zeile 4(g1,h1,i4,g4,f4),
dann Zeile 5 mit(g1,h1,i5,g5,f5),
dann Zeile 6 mit (g1,h1,i6,g6,f6)
und das alles bis zur Zeile 25un dann wieder von Zeile 4 anfangend!

Private Sub CommandButton1_Click()
Sheets("Tabelle1").Range("G1").Copy Sheets("Druck").Range("B4:k8")
Sheets("Tabelle1").Range("H1").Copy Sheets("Druck").Range("b11:k15")
Sheets("Tabelle1").Range("i4").Copy Sheets("Druck").Range("B18:k22")
Sheets("Tabelle1").Range("G4").Copy Sheets("Druck").Range("B25:k29")
Sheets("Tabelle1").Range("F4").Copy Sheets("Druck").Range("A32:k73")
Sheets("Druck").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Druck").Range("B4:k8").ClearContents
Sheets("Druck").Range("B11:k15").ClearContents
Sheets("Druck").Range("B18:k22").ClearContents
Sheets("Druck").Range("B25:k29").ClearContents
Sheets("Druck").Range("A32:k73").ClearContents
Sheets("Tabelle1").Select
Range("C5").Select
End Sub


Private Sub CommandButton10_Click()
Sheets("Tabelle1").Range("G1").Copy Sheets("Druck").Range("B4:k8")
Sheets("Tabelle1").Range("H1").Copy Sheets("Druck").Range("b11:k15")
Sheets("Tabelle1").Range("i5").Copy Sheets("Druck").Range("B18:k22")
Sheets("Tabelle1").Range("G5").Copy Sheets("Druck").Range("B25:k29")
Sheets("Tabelle1").Range("F5").Copy Sheets("Druck").Range("A32:k73")
Sheets("Druck").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Druck").Range("B4:k8").ClearContents
Sheets("Druck").Range("B11:k15").ClearContents
Sheets("Druck").Range("B18:k22").ClearContents
Sheets("Druck").Range("B25:k29").ClearContents
Sheets("Druck").Range("A32:k73").ClearContents
Sheets("Tabelle1").Select
Range("C5").Select
End Sub

Kann mir hierbei auch noch einmal jemand helfen?
Ich hoffe ihr konntet mein Anliegen verstehen.
mfG Lisa

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: von zeile zur zeile
16.10.2006 13:30:33
zeile
Hi Lisa
Option Explicit
Private Sub CommandButton1_Click()
Dim wsT As Worksheet
Static n As Byte
If n < 4 Then n = 3
n = IIf(n >= 25, 4, n + 1)
Set wsT = Worksheets("Tabelle1")
With Worksheets("Druck")
wsT.Range("G1").Copy .Range("B4:k8")
wsT.Range("H1").Copy .Range("b11:k15")
wsT.Range("i" & n).Copy .Range("B18:k22")
wsT.Range("G" & n).Copy .Range("B25:k29")
wsT.Range("F" & n).Copy .Range("A32:k73")
MsgBox n
.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
.Range("B4:k8").ClearContents
.Range("B11:k15").ClearContents
.Range("B18:k22").ClearContents
.Range("B25:k29").ClearContents
.Range("A32:k73").ClearContents
End With
wsT.Activate
Range("C5").Select
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: von zeile zur zeile
16.10.2006 13:31:28
zeile
Hi Lisa

Sub Button1_Click()
Static iCounter As Integer
iCounter = 4
Sheets("Tabelle1").Range("G" & iCounter).Copy Sheets("Druck").Range("B4:k8")
Sheets("Tabelle1").Range("H" & iCounter).Copy Sheets("Druck").Range("b11:k15")
Sheets("Tabelle1").Select
If iCounter = 25 Then iCounter = 4
Range("C" & iCounter).Select
End Sub

So sollte es hinhauen.
Gruss Alex
AW: von zeile zur zeile
16.10.2006 13:34:43
zeile
Hallo Lisa,
das geht zum Beispiel so:

Private Sub CommandButton1_Click()
Dim rng As Range
Dim i As Integer
For i = 4 To 25
Set rng = Range("F" & i)
With Sheets("Druck")
rng.Offset(-(i - 1), 1).Copy .Range("B4:K8")
rng.Offset(-(i - 1), 2).Copy .Range("B11:K15")
rng.Offset(0, 3).Copy .Range("B18:K22")
rng.Offset(0, 1).Copy .Range("B25:K29")
rng.Copy .Range("A32:K73")
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
.Range("B4:K8").ClearContents
.Range("B11:K15").ClearContents
.Range("B18:K22").ClearContents
.Range("B25:K29").ClearContents
.Range("A32:K73").ClearContents
Next 'i
Sheets("Tabelle1").Activate
Range("C5").Select
End Sub
Gruß Ingolf
Anzeige
AW: von zeile zur zeile
16.10.2006 13:36:34
zeile
Hallo nochmal,
da war noch ein Fehler drin:

Private Sub CommandButton1_Click()
Dim rng As Range
Dim i As Integer
For i = 4 To 25
Set rng = Range("F" & i)
With Sheets("Druck")
rng.Offset(-(i - 1), 1).Copy .Range("B4:K8")
rng.Offset(-(i - 1), 2).Copy .Range("B11:K15")
rng.Offset(0, 3).Copy .Range("B18:K22")
rng.Offset(0, 1).Copy .Range("B25:K29")
rng.Copy .Range("A32:K73")
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
.Range("B4:K8").ClearContents
.Range("B11:K15").ClearContents
.Range("B18:K22").ClearContents
.Range("B25:K29").ClearContents
.Range("A32:K73").ClearContents
End With
Next 'i
Sheets("Tabelle1").Activate
Range("C5").Select
End Sub
Gruß Ingolf
Anzeige
AW: von zeile zur zeile
16.10.2006 14:12:19
zeile
Hallo alle zusammen
schönen Dank für eure Mühe.
der Code von Ingolf hört nicht wieder auf zu drucken bis alle 25 autom. durchgelaufen sind.
Bei dem von Alex passiert nichts
und den von Reinhard bekomme ich eine Msg Box angezeigt
eigentlich sollte beim ersten mal Button betätigen der erste Code abgespielt werden beim zweitenmal der zweite usw. bis zu 25 mal und dann wieder vom ersten code neu anfangen.
den erst

Private Sub CommandButton1_Click()
Sheets("Tabelle1").Range("G1").Copy Sheets("Druck").Range("B4:k8")
Sheets("Tabelle1").Range("H1").Copy Sheets("Druck").Range("b11:k15")
Sheets("Tabelle1").Range("i4").Copy Sheets("Druck").Range("B18:k22")
Sheets("Tabelle1").Range("G4").Copy Sheets("Druck").Range("B25:k29")
Sheets("Tabelle1").Range("F4").Copy Sheets("Druck").Range("A32:k73")
Sheets("Druck").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Druck").Range("B4:k8").ClearContents
Sheets("Druck").Range("B11:k15").ClearContents
Sheets("Druck").Range("B18:k22").ClearContents
Sheets("Druck").Range("B25:k29").ClearContents
Sheets("Druck").Range("A32:k73").ClearContents
Sheets("Tabelle1").Select
Range("C5").Select
End Sub

dann diesen

Private Sub CommandButton10_Click()
Sheets("Tabelle1").Range("G1").Copy Sheets("Druck").Range("B4:k8")
Sheets("Tabelle1").Range("H1").Copy Sheets("Druck").Range("b11:k15")
Sheets("Tabelle1").Range("i5").Copy Sheets("Druck").Range("B18:k22")
Sheets("Tabelle1").Range("G5").Copy Sheets("Druck").Range("B25:k29")
Sheets("Tabelle1").Range("F5").Copy Sheets("Druck").Range("A32:k73")
Sheets("Druck").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Druck").Range("B4:k8").ClearContents
Sheets("Druck").Range("B11:k15").ClearContents
Sheets("Druck").Range("B18:k22").ClearContents
Sheets("Druck").Range("B25:k29").ClearContents
Sheets("Druck").Range("A32:k73").ClearContents
Sheets("Tabelle1").Select
Range("C6").Select
End Sub

usw bis zur zeile 25 und dann wieder ab zeile 4 beginnend
Ich müßte sonst in jeder zeile so ein Button haben und den wollte ich mir sparen
mfG Lisa
Anzeige
AW: von zeile zur zeile
16.10.2006 14:40:28
zeile
Hi Lisa,
ja, stammt noch vom Testen, lösche die zeile
MsgBox n
dann müßte es klappen.
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: von zeile zur zeile
16.10.2006 14:42:36
zeile
Hallo,
Reinhards Code sollte klappen. Warum allerdings mit Select und Activate, ist mir ein Rätsel.

Private Sub CommandButton1_Click()
Dim wsT As Worksheet
Static n As Byte
If n < 4 Then n = 3
n = IIf(n >= 25, 4, n + 1)
Set wsT = Worksheets("Tabelle1")
With Worksheets("Druck")
wsT.Range("G1").Copy .Range("B4:k8")
wsT.Range("H1").Copy .Range("b11:k15")
wsT.Range("i" & n).Copy .Range("B18:k22")
wsT.Range("G" & n).Copy .Range("B25:k29")
wsT.Range("F" & n).Copy .Range("A32:k73")
.PrintOut Copies:=1, Collate:=True
.Range("B4:k8").ClearContents
.Range("B11:k15").ClearContents
.Range("B18:k22").ClearContents
.Range("B25:k29").ClearContents
.Range("A32:k73").ClearContents
End With
End Sub
Gruß
Rudi
Anzeige
AW: von zeile zur zeile
16.10.2006 14:51:10
zeile
hallo!
ja, es funktioniert prima, könnte man evtl. die Selection noch sichtbar machen?
es ist besser zu sehen in welcher Zeile man sich gerade befindet.
mfG lisa
AW: von zeile zur zeile
16.10.2006 14:53:05
zeile
Hallo,
...
...
...
End With
Cells(n,1).select
End Sub
Gruß
Rudi
celle aktivieren
16.10.2006 16:43:17
Lisa
ja, es funktioniert prima, könnte man evtl. die Selection noch sichtbar machen?
es ist besser zu sehen in welcher Zeile man sich gerade befindet.
leider hat sich zu diesem Problem noch niemand geäußert, aber vieleicht hat noch einmal jemand die Muße.
im Moment wird immer c5 selektiert, es sollte aber wenn möglich immer die aktuell celle aktiv sein
mfG lisa
Anzeige
AW: celle aktivieren
16.10.2006 17:25:40
Reinhard
Hi Lisa,
Option Explicit
Private Sub CommandButton1_Click()
Dim wsT As Worksheet
Static n As Byte
If n < 4 Then n = 3
n = IIf(n >= 25, 4, n + 1)
Set wsT = Worksheets("Tabelle1")
With Worksheets("Druck")
wsT.Range("G1").Copy .Range("B4:k8")
wsT.Range("H1").Copy .Range("b11:k15")
wsT.Range("i" & n).Copy .Range("B18:k22")
wsT.Range("G" & n).Copy .Range("B25:k29")
wsT.Range("F" & n).Copy .Range("A32:k73")
.PrintOut Copies:=1, Collate:=True
.Range("B4:k8").ClearContents
.Range("B11:k15").ClearContents
.Range("B18:k22").ClearContents
.Range("B25:k29").ClearContents
.Range("A32:k73").ClearContents
End With
wsT.Range("C" & n).Select
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
danke schön! Nun klappt es :-)
17.10.2006 11:52:28
Lisa
OT von zeile zur zeile
16.10.2006 15:21:59
zeile
Hallo Rudi,
das erste Select liess ich drin wegen ActiveWindow, da ich das Äusserrst selten, eher nie benutze war mir unklar ob es notwendig war und drinlassen ist einfacher als auszuprobieren.
Ich kann s nicht mehr nachvollziehen, irgendwie meckerte der Debugger bei
wsT.Range("C5").Select
(wobei ich jetzt nicht mehr genau weiß was beim Testen vorhin genau stand, also griff ich aif die allseits beliebten activate und Select einzeln zurück :-)
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: von zeile zur zeile
16.10.2006 14:46:28
zeile
Hallo Lisa,
da hatte ich dich falsch verstanden. Nachfolgender Code speichert die Zeile der letzten Ausführung in der Zelle IV1. Beim ersten Programmdurchlauf muss diese Zelle zunächst einmal mit dem Wert 4 vorbelegt werden. Die entsprechende Programmzeile musst du nach dem ersten Programmdurchlauf unbedingt löschen, sonst greift er immer auf die Zeile 4 zu.

Private Sub CommandButton1_Click()
Dim rng As Range
Dim i As Integer
'folgende Zeile nach dem ersten Programmdurchlauf löschen!!!!!!!!
Range("IV1") = 4
i = Range("IV1")
Set rng = Range("F" & i)
With Sheets("Druck")
rng.Offset(-(i - 1), 1).Copy .Range("B4:K8")
rng.Offset(-(i - 1), 2).Copy .Range("B11:K15")
rng.Offset(0, 3).Copy .Range("B18:K22")
rng.Offset(0, 1).Copy .Range("B25:K29")
rng.Copy .Range("A32:K73")
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
.Range("B4:K8").ClearContents
.Range("B11:K15").ClearContents
.Range("B18:K22").ClearContents
.Range("B25:K29").ClearContents
.Range("A32:K73").ClearContents
End With
Range("IV1") = Range("IV1") + 1
If Range("IV1") > 25 Then Range("IV1") = 4
Sheets("Tabelle1").Activate
Range("C5").Select
End Sub
Gruß Ingolf
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige