Clever-Excel-Forum

Normale Version: Tabellen in freie Spalten kopieren mit Checkboxen (VBA) - Excel 2016
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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!
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...
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
________