Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Spalten über Makro ein- ausblenden
21.06.2006 13:31:09
Werner
Hallo an alle, ich bin ein sogenannter VBA - Neuling und würde mich sehr über eure Lösungsvorschläge freuen.
Für eine Kalkulation habe ich eine Datei in die Tabellenblätter :
Datenstammblatt (Tabellenblatt1)
Verpackung 1 (Tabellenblatt2)
Verpackung 2 (Tabellenblatt3)
Fracht 1 (Tabellenblatt4)
Fracht 2 (Tabellenblatt5)
EDV (Tabellenblatt6)
EDL (Tabellenblatt7)
Kapitalbindung (Tabellenblatt
Gemeinkosten (Tabellenblatt 9)
Zusammenfassung (Tabellenblatt 10) untergliedert.
Im Datenstammblatt (Tabellenblatt 1) habe ich bereits ein Makro programmiert, welches wunderbar funktionert. Mein Ziel ist es jedoch, mit einem Click auf den CommandButton im Datenstammblatt (Tabellenblatt 1), auch die Kalkulationsspalten ( 1 bis 15) der übrigen Tabellenblätter beliebig simultan ein- oder auszublenden (wenn auf dem Datenstammblatt 4 Spalten eingeblendet werden, so erfolgt die Einblendung von 4 Spalten auch auf den anderen Kalkulationssheets der Datei).
Zudem beginnen die Kalkulationsspalten (1 bis 15) im Datenstammblatt mit der Spalte L.
In den übrigen Tabellenblättern beginnen die Kalkulationsspalten (1 bis 15) jeweils mit der Spalte B.
Anbei das Makro für das Datenstammblatt = (Tabellenblatt 1)

Private Sub CommandButton1_Click()
Static loanAmt
loanAmt = Application.InputBox _
(Prompt:="Nummer des letzten anzuzeigenden Szenarios (1 bis 15)", _
Default:=loanAmt)
ActiveSheet.Protect Password:="hallo", DrawingObjects:=True, Contents:=True, Scenarios:=True
'----Spalten Ein/Ausblenden----
If loanAmt >= 0 Then
ActiveSheet.Unprotect Password:="hallo"
Columns("k:z").Select
Selection.EntireColumn.Hidden = False
Dim loanAmtTemp As Variant
loanAmtTemp = loanAmt + 11
If loanAmtTemp < 26 Then
MsgBox "Die Szenarien in Spalten " _
& loanAmt + 1 & " bis 15 werden ausgeblendet!"
ActiveSheet.Unprotect Password:="hallo"
For loanAmtTemp = loanAmt + 12 To 27
Columns(loanAmtTemp).Select
Selection.EntireColumn.Hidden = True
Next loanAmtTemp
Else
End If
Range("a1").Select
Else
End If
ActiveSheet.Protect Password:="hallo", DrawingObjects:=True, Contents:=True, Scenarios:=True
'----Ende Spalten Ein/Ausblenden----
'MsgBox "Monthly payment is " & Format (loanAmt, "Currency")
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Spalten über Makro ein- ausblenden
21.06.2006 22:34:13
Daniel
Hallo,
ich gehe mal davon aus, daß du in allen Sheets die Spalten ausblenden willst, wobei im Sheet("Datenstammblatt") die Spalten an einer anderen Position stehen.
Ersetzte diesen Code
For loanAmtTemp = loanAmt + 12 To 27
Columns(loanAmtTemp).Select
Selection.EntireColumn.Hidden = True
Next loanAmtTemp
durch diesen:
For each Blatt in Activeworkbook.sheets
if Blatt.name = "Datenstammblatt" then
Blatt.range(loanamt+12 & ":27").EntireColumn.Hidden = True
else
Blatt.range(loanamt+1 & ":15").EntireColumn.Hidden = True
end if
next
Fall du mit Option Explicit arbeitest (was dringend zu empfehlen ist)
muß du noch bei der Variablendeklaration ein
Dim Blatt as worksheet
einfügen.
Gruß, Daniel
PS ich habe den Code nicht getestet, ggf. mußt du die Rechtschreibung noch anpassen.
Anzeige
AW: Spalten über Makro ein- ausblenden
22.06.2006 07:04:29
logistikere
Hallo Daniel vielen lieben Dank für deine Antwort,
ich werde deinen Tipp gleich Testen.
Gruß Werner.
AW: Spalten über Makro ein- ausblenden
22.06.2006 09:30:43
Werner
Hallo Daniel,
leider hat die Ergänzung des Codes nicht funktioniert.
Trotzdem vielen Dank.
Gruß Werner.
AW: Spalten über Makro ein- ausblenden
22.06.2006 23:45:21
Daniel
Sorry,
mein Fehler, da habe mal wieder die Spalten mit Zeilen verwechselt
so sollte es gehen:
For each Blatt in Activeworkbook.sheets
if Blatt.name = "Datenstammblatt" then
Blatt.range(columns(loanamt+12), columns(27)).Hidden = True
else
Blatt.range(columns(loanamt+1), columns(15)).Hidden = True
end if
next
mit den Zahlen mußt du vielleicht noch ein wenig experimentieren, aber prinzipiell sollte es jetzt gehen.
Gruß, Daniel
Anzeige
AW: Spalten über Makro ein- ausblenden
23.06.2006 05:26:46
Gerd
Hallo Werner,
vieleicht so ?

Sub Blenden()
Static loanAmt As Integer, z As Integer
loanAmt = InputBox("Nummer des....letzten...anzuzeigenden...angeben!", Default:=loanAmt)
If loanAmt >= 0 And loanAmt <= 15 Then
Worksheets(1).Columns("L:Z").Hidden = False
For z = 2 To Worksheets.Count
Worksheets(z).Columns("B:P").Hidden = False
Next
If loanAmt < 15 Then MsgBox ("Die...Spalten " & loanAmt + 1 & " bis 15 werden ausgeblendet!")
If loanAmt = 15 Then MsgBox ("Alle...Spalten " & "(1 bis 15) werden angezeigt!")
If loanAmt < 15 Then
Worksheets(1).Range(Worksheets(1).Columns(loanAmt + 12), Worksheets(1).Columns(26)).Hidden = True
For z = 2 To Worksheets.Count
Worksheets(z).Range(Worksheets(z).Columns(loanAmt + 2), Worksheets(z).Columns(16)).Hidden = True
Next
End If
End If
End Sub

Gruß
Gerd
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige