Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabellen in freie Spalten kopieren mit Checkboxen (VBA) - Excel 2016
#1
Servus,

ich habe mich so eben hier angemeldet, weil ich vor einem Problem stehe und da nicht richtig weiter komme.
Auch Google etc. helfen nicht wirklich.


Zum (Konkurenz.-) Produktvergleich habe ich diverse Tabellen auf verschiedenen Blättern angelegt.
Auf dem Hauptblatt habe ich einen Bereich mit all diesen Blättern angelegt und Checkboxen zum Auswählen, welche Daten angezeigt werden sollen.
Dies funktioniert soweit.

Wenn ich allerdings e.g. "Produkt 2-5 + 7 +34-38" anzeigen lassen möchte, möchte ich das die verwendeten Spalten nicht die fixen sind, die ich angegeben habe, sondern von links beginnend auffüllend.

Hier ein Beispiel für das erste Produkt, wie ich es geschrieben habe (nichts wildes):
Private Sub CheckBox1_Click()

If Sheets("Main").CheckBox1.Value = True Then
    Sheets("xxxxxx").Range("B3:B73").Copy
    Sheets("Main").Range("C24:C94").PasteSpecial xlPasteAll
End If
End Sub
____________________
Private Sub CheckBox2_Click()

Sheets("Main").CheckBox1.Value = False
If Sheets("Main").CheckBox2.Value = True Then
    Sheets("Data").Range("G3:G73").Copy
    Sheets("Main").Range("C24:C94").PasteSpecial xlPasteAll
End If
Sheets("Main").CheckBox2.Value = False
Application.CutCopyMode = xlCut
End Sub

usw. usf. für weitere Produkte.
Um beim Beispiel zu bleiben (Produkt 2-5 + 7 +34-38):
--> Wie sage ich ihm jetzt zusätzlich, dass er für die ausgewählten Produkte die gleich nächste verfügbare Spalte nehmen soll?


Eine weitere kleine Frage (die allem Anschein nicht funktioniert):
Auf dem "Main" Blatt habe ich einen Teil fixiert um alle vorhandenen Produkte darzustellen, auszuwählen, Verlinkungen etc. pp.
Darunter befindet sich die Tabelle der Daten, mit zwei zusätzlich fixierten Zeilen (zur Übersicht beim Scrollen).
--> Kann ich den oberen fixierten Bereich wirklich so "fixiert" belassen, OHNE das sich die Spaltenbreiten der kommenden Produktinformationen darauf Einfluss haben (da die unterschiedlich sein können und sich das ganze Blatt dann verzieht)?!

Danke für die Hilfe!
Antworten Top
#2
Hallöchen,

Zitat:nächste verfügbare Spalte

wenn Du das anhand einer "gefüllten Zeile" ausmachen kannst, dann so
Columns(1, Columns.Count).End(xlToLeft).Column + 1


Zitat:Auf dem "Main" Blatt habe ich einen Teil fixiert um alle vorhandenen Produkte darzustellen, auszuwählen, Verlinkungen etc. pp.
Darunter befindet sich die Tabelle der Daten, mit zwei zusätzlich fixierten Zeilen (zur Übersicht beim Scrollen).
Mehrere Fixierungen auf einem Blatt gehen eigentlich nur, wenn Du das Blatt in mehreren Fenstern ausgibst. Mir ist allerdings noch nicht aufgefallen, dass das auf die Spaltenbreiten Einfluss haben soll...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Servus und Danke für die Antwort,

ich habe es jetzt wie folgt lösen können, also eigl. genauso wie du beschrieben hast.
_________
Private Sub CheckBox1_Click()
    If Sheets("Main").CheckBox1.Value = True Then
    Sheets("PRODUCT I").Range("B3:B73").Copy
        For i = 2 To 11
        charCell = Cells(24, i).Value
        If charCell = "" Then Exit For
        Next i

    Cells(24, i).PasteSpecial xlPasteAll
 
  End If
End Sub
_______________
Private Sub CheckBox2_Click()

Sheets("Main").CheckBox1.Value = False
If Sheets("Main").CheckBox2.Value = True Then
    Sheets("Data").Range("G3:G73").Copy
    Sheets("Main").Range("C24:C94").PasteSpecial xlPasteAll
End If
Sheets("Main").CheckBox2.Value = False
Application.CutCopyMode = xlCut
End Sub
________
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste