Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
496to500
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
496to500
496to500
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe zu kompliziert & komlex! Geht auch Schleife?

Hilfe zu kompliziert & komlex! Geht auch Schleife?
12.10.2004 09:51:56
tvd
Hallo und schönen Tag!
Ich habe folgendes Problem; ich habe in einem Tabellenblatt ("Leistungen") zwei Spalten die dann in das Blatt ("Ausdruck") übertragen werden sollen, nur wenn die dazugehörige Checkbox aktiviert ist.
Geshiet bislang durch einen Button. Muss aber nicht.
Desweiteren sollen sie in das Blatt ("Ausdruck") in die jeweils nächstfreie Zeile kopiert/eingetragen werden. Ich habe da zwar eine Ansatzlösung gefunden, da das aber bis über 200 reihen *2 Spalten werden können, wollte ich mal wissen ob man meinen Ansatz auch als Schleife realisieren kann. Wär über jede Hilfe sehr dankbar!
Vielen Dank im voraus schonmal!
Hier die Codeauszüge:
Tabelle4 (Leistungen)

Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then Makro1
If CheckBox2.Value = True Then Makro2
If CheckBox3.Value = True Then Makro3
If CheckBox4.Value = True Then Makro4
If CheckBox5.Value = True Then Makro5
End Sub

Modul1
Sub Makro1()
Sheets("Leistungen").Select
Range("C1").Select
Range("C1").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("B65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Leistungen").Select
Range("D1").Select
Range("D1").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("C65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub Makro2()
Application.ScreenUpdating = False
Sheets("Leistungen").Select
Range("C2").Select
Range("C2").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("B65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Leistungen").Select
Range("D2").Select
Range("D2").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("C65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub
Sub Makro3()
Sheets("Leistungen").Select
Range("C3").Select
Range("C3").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("B65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Leistungen").Select
Range("D3").Select
Range("D3").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("C65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub Makro4()
Sheets("Leistungen").Select
Range("C4").Select
Range("C4").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("B65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Leistungen").Select
Range("D4").Select
Range("D4").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("C65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub Makro5()
Sheets("Leistungen").Select
Range("C5").Select
Range("C5").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("B65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Leistungen").Select
Range("D5").Select
Range("D5").Activate
Selection.Copy
Sheets("Ausdruck").Select
Range("C65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe zu kompliziert & komlex! Geht auch Schleife?
Cross
Userbild
AW: Hilfe zu kompliziert & komlex! Geht auch Schleife?
tvd
lol das weiß ich auch dass das mist ist!
Kann mir vielleicht trotzdem jemand helfen?
AW: Hilfe zu kompliziert & komlex! Geht auch Schleife?
tvd
Ist wirklich wichtig!
AW: Hilfe zu kompliziert & komlex! Geht auch Schle
Klaus
Versuch's mal hiermit:

Private Sub CommandButton1_Click()
Dim i As Integer, LetzteZelle As Integer, MeinOffset As Integer
Dim obj As OLEObject
MeinOffset = 0
'=0 -- Zeile 1 beginnt mit Checkbox1
'=1 -- Zeile 2 beginnt mit Checkbox1
'usw.
Sheets("Leistungen").Activate
For Each obj In Worksheets("Leistungen").OLEObjects
If Left(obj.Name, 8) = "CheckBox" Then
i = i + 1
LetzteZelle = Sheets("Ausdruck").Range("B65536").End(xlUp).Row + 1
If Sheets("Leistungen").OLEObjects("CheckBox" & i).Object Then
Sheets("Leistungen").Range(Cells(i + MeinOffset, 3), Cells(i + MeinOffset, 4)).Copy _
Sheets("Ausdruck").Cells(LetzteZelle, 2)
End If
End If
Next
End Sub

Die zusätzlichen Makros kannst du weglassen :-))
Gruß Klaus
Anzeige
Danke
tvd
ich werd es mal ausprobieren!
Vielen Dank Klaus!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige