8.2k Aufrufe
Gefragt in Tabellenkalkulation von karalien Einsteiger_in (13 Punkte)
Hallo,
Ich möchte gern zwei Excel Tabellen zusammenfügen. Die eine enthält alle Hauptthemen mit den wichtigsten Informationen und die zweite beinhaltet weitere Infos aber nur zu gewissen Themen, welche nicht in der Haupttabelle enthalten sind. - Die zusätzlichen drei Spalten der zweiten Tabelle möchte ich in die Haupttabelle übernehmen, sie sollen jedoch nicht umbedingt immer angezeigt werden. - Ist es möglich Kontrollkästchen in Excel einzufügen, welche dann die drei Spalten anzeigen lassen, sobald sie aktiviert wurden? Muss ich mit Makros arbeiten, damit die Spalten ein- und wieder ausgeblendet werden?

Vielen Dank für die Hilfe!

8 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo,

benutze doch die Gruppierung von Excel, ganz ohne Makro.

Gruß Hajo
0 Punkte
Beantwortet von karalien Einsteiger_in (13 Punkte)
...die Gruppierung erzielt nicht ganz den gewünschten Effekt. Mein Ziel ist es, das die Spalten automatisch eingeblendet werden, sobald das Kontrollkästchen aktiviert wird. Nur gewisst Themen haben zusätzliche Infos und diese sollen dann so sichtbar werden.

Dennoch vielen Dank für den Vorschlag.
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Jaqueline,

nachfolgender VBA-Code blendet Dir bei Aktivieren von Kontrollkästchen die Spalten E, F oder G ein bzw. wieder aus. Für diesen VBA-Code müssen Kontrollkästchen aus der Symbolleiste "Steuerelement-Toolbox" verwendet werden. Außerdem müssen die Namen der CheckBoxen "CheckBox1", "CheckBox2" und "CheckBox3" heißen.

Kopiere den VBA-Code in das VBA-Projekt des Tabellenblatts, in dem die CheckBoxen eingefügt wurden.
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Private Sub CheckBox1_Click()
'Wenn CheckBox1 aktiviert, dann...
If CheckBox1 = True Then
'...Spalte E einblenden und ...
Columns("E:E").EntireColumn.Hidden = False
'...Text in CheckBox ändern (Text nur für das _
Beispiel, ist für die Funktion nicht notwendig)
CheckBox1.Caption = "Spalte E Ein"
'...wenn CheckBox nicht aktiviert, dann...
Else
'...Spalte E ausblenden und ...
Columns("E:E").EntireColumn.Hidden = True
'...Text in CheckBox ändern (Text nur für das _
Beispiel, ist für die Funktion nicht notwendig)
CheckBox1.Caption = "Spalte E Aus"
End If
End Sub

Private Sub CheckBox2_Click()
'Wenn CheckBox2 aktiviert, dann...
If CheckBox2 = True Then
'...Spalte F einblenden und ...
Columns("F:F").EntireColumn.Hidden = False
'...Text in CheckBox ändern (Text nur für das _
Beispiel, ist für die Funktion nicht notwendig)
CheckBox2.Caption = "Spalte F Ein"
Else
'...Spalte F ausblenden und ...
Columns("F:F").EntireColumn.Hidden = True
CheckBox2.Caption = "Spalte F Aus"
End If
End Sub

Private Sub CheckBox3_Click()
'Wenn CheckBox3 aktiviert, dann...
If CheckBox3 = True Then
'...Spalte G einblenden und ...
Columns("G:G").EntireColumn.Hidden = False
'...Text in CheckBox ändern (Text nur für das _
Beispiel, ist für die Funktion nicht notwendig)
CheckBox3.Caption = "Spalte G Ein"
Else
'...Spalte G ausblenden und ...
Columns("G:G").EntireColumn.Hidden = True
'...Text in CheckBox ändern (Text nur für das _
Beispiel, ist für die Funktion nicht notwendig)
CheckBox3.Caption = "Spalte G Aus"
End If
End Subb
Zum besseren Verständnis habe ich Dir mal eine Beispieldatei unter http://www.excelbeispiele.de/beispiele_supportnet/Durch_Kontrollkaestchen_Spalten_ein_oder_ausblenden.xls hochgeladen.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von karalien Einsteiger_in (13 Punkte)
Vielen Dank für die Hilfe! Hat super geklappt in meiner 'Test-Datei', jetzt muss ich es nur noch ins Orginal kopieren.
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Jaqueline,

gerne geschehen. Freut mich, dass alles funktioniert. Danke auch für die Rückmeldung.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Hallo Coros,

ich habe mir die Freiheit genommen und deine Anleitung einmal selber ausprobiert, da ich ein ähnliches Problem habe.
Es hat auch soweit hervorragend geklappt, nur habe ich dazu noch eine Frage.

Bei mir stellt sich das ganze so da:

Es gibt 3 Checkboxen, die auch entsprechend deiner Anleitung benannt wurden.
Diese Checkboxen sollen folgendes machen:

CheckBox1 = Aus / Einblenden der Spalte D
CheckBox2 = Aus / Einblenden der Spalte F
---- Bis hier hin funktioniert es wunderbar.....
CheckBox3 = Aus / Einblenden Spalte D bis einschl. S

Und das ist der Knackpunkt, ich dachte ich mach mal auf ganz schlau und habe folgendes versucht:

Private Sub CheckBox3_Click()
'Wenn CheckBox3 aktiviert, dann...
If CheckBox3 = True Then
'...Spalte G einblenden und ...
Columns("D:S").EntireColumn.Hidden = False
'...Text in CheckBox ändern (Text nur für das _
Beispiel, ist für die Funktion nicht notwendig)
CheckBox3.Caption = "Alle aktiviert"
Else
'...Spalte G ausblenden und ...
Columns("D:S").EntireColumn.Hidden = True
'...Text in CheckBox ändern (Text nur für das _
Beispiel, ist für die Funktion nicht notwendig)
CheckBox3.Caption = "Alle deaktiviert"
End If
End Subb

Leider meldet sich beim Anklicken der Debugger.
Kannst du mir vllt. hier weiterhelfen?

Besten Dank und Grüße

Patrick
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Patrick,

bei mir funktioniert Dein Code. Welche Zeile wird denn gelb markiert, wenn Du die Debugg-Schaltfläche betätigst? Eventuell kannst Du ja auch eine Beispieldatei, bei der ebenfalls der Fehler auftritt, z.B. bei http://www.file-upload.net/ hochladen und den Link, den Du erhältst, uns hier mitteilen. Dann kann man schauen, wo das Problem liegt.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Guten Morgen und vielen Dank für die Schnelle Antwort,

habe den Code gerade nochmals hinzugefügt und gesehen, das ich einen Schreibfehler drinn hatte.
Naja wer lesen kann ist klar im Vorteil :)
Vielen Dank aber nochmals für die schnelle Antwort.

Viele Grüße

Patrick
...