Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CommandButton über VBA und damit Spalten ausblende

CommandButton über VBA und damit Spalten ausblende
29.08.2007 20:24:00
Sebastian
Halli hallo,
erstmal ein dickes lob an das super forum, hier wird einem wirklich geholfen. Nun zu meinem Problem.
Ich möchte über ein UserForm einige Tabellenblätter erstellen. Bei einem Tabellenblatt soll noch eine CommandBox erstellt werden. Das erstellen habe ich mal über folgendes gelöst(Makro aufgenommen):

Public Sub addButton()
ActiveSheet.Range("A2").Select
Dim btn As Button
Dim dWidth As Double, dHeight As Double
With Selection
dWidth = .Cells(.Cells.Count).Left - _
.Cells(1).Left .Cells(.Cells.Count).Width
dHeight = .Cells(.Cells.Count).Top - _
.Cells(1).Top .Cells(.Cells.Count).RowHeight
Set btn = ActiveSheet.Buttons.Add(.Cells(1).Left, _
.Cells(1).Top, dWidth, dHeight)
End With
btn.Caption = "Aufrufen"
btn.OnAction = "Tabelle12.Meldung1"
End Sub


Dies funktioniert soweit recht gut, doch jetzt kommt mein eigentliches Problem. Die Prozedur Meldung1, soll die Spalten G - J auf knopfdruck ausblenden. Ein weiteres Problem ist dass ich einige Zellen in diesem Arbeitsblatt verbunden habe, und der Zellenverbund geht von D - OpenEnd(je nachdem welche einstellungen man in der Userform angegeben hat)
Das Ein/Ausblenden möchte ich hiermit machen:
ActiveSheet.Unprotect
If Columns("G").Hidden = True Then
Columns("G").Hidden = False
Columns("H").Hidden = False
Columns("I").Hidden = False
Columns("J").Hidden = False
Else
Columns("G").Hidden = True
Columns("H").Hidden = True
Columns("I").Hidden = True
Columns("J").Hidden = True
End If
Nun nach meiner Vorstellung sollte das recht gut klappen, zumal das Ein und Ausblenden funktioniert, wenn ich es direkt einem CommandButton zuweise. Aber über vba passiert entweder nichts, oder es kommt die Fehlermeldung "400".
Was mir noch aufgefallen ist, wenn ich das script über vba dem button zuweise, dann werden nicht nur die Spalten G-J ausgeblendet, sondern die kompletten Spalten meiner verbundenen Zelle, die z.b. von D - AZ geht. Nun endlich meine Frage, habe ich den richtigen ansatz? oder mache ich da etwas grundlegendes falsch?

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: CommandButton über VBA und damit Spalten ausblende
29.08.2007 20:31:05
Fred
Hi,
zum 1034 zigsten mal, verbundene Zellen haben nichts in einer Tabelle zu suchen.
mfg Fred

AW: CommandButton über VBA und damit Spalten ausbl
29.08.2007 20:49:27
Sebastian
wieso denn nicht?

AW: CommandButton über VBA und damit Spalten ausbl
29.08.2007 21:15:59
Gerd
Hallo Sebastian,
die MergeCells bringen die Zelladdressen "durcheinander".
Probiere deinen Code in eine kopierten Datei, in der Du die Zellen noch "entbindest" .
Zu diesem Thema steht hier im Archiv jede Menge, in der VBA-Hilfe evtl. ebenfalls etwas.
Bei deiner zweiten Fragestellung empfehle ich, eine Mustertabelle mit Steuerelement anzulegen
u. dieses Sheet bei Bedarf zu kopiereren.
Gruß Gerd

Anzeige
AW: CommandButton über VBA und damit Spalten ausbl
29.08.2007 21:17:45
Fred
Hi,
du hast es doch selbst gemekt, sie machen ubgleich mehr Probleme, als sie Nutzen bringen.
In fast allen Fällen erreichst du den selben optischen Effekt mit "Über Auswahl zentrieren".
mfg Fred

AW: CommandButton über VBA und damit Spalten ausbl
30.08.2007 06:43:28
Sebastian
hmm... ok dann vielen dank für die antworten, dann werde ich mal einiges umstrukturieren müssen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige