HERBERS Excel-Forum - das Archiv
Einzelne Zellen ausblenden
alex

Hallo liebe Excelgemeinde,
ich möchte in meiner Tabelle gerne einzelne Bereich ausblenden, allerdings nie die ganze Spalte oder Zeile.
Ich habe dafür folgenden Code geschrieben. Leider entfernt Excel lediglich die Werte aus den Zellen. Die Zellen rechts von den Bereichen sollen aber nach links aufrücken.
Außerdem sollen bei einem gegen Makro die werte in den ausgeblendeten Zellen wieder sichtbar werden und die Zellen die vorher nach links gerückt sind wieder nach rechts rücken.
Sub test()
If MsgBox("Sollen nicht benötigte Quartale, für eine bessere Übersicht, ausgeblendet werden?",  _
vbYesNo) = vbYes Then
If Date >= CDate("01.01." & Year(Date)) And Date < CDate("01.04." & Year(Date)) Then
Range("L16:S1917") = Hidden
Else
If Date > CDate("31.03." & Year(Date)) And Date < CDate("01.07." & Year(Date)) Then
Range("L16:S1917") = Hidden
Else
If Date > CDate("30.06." & Year(Date)) And Date < CDate("01.10." & Year(Date)) Then
Range("P16:S1917") = Hidden
Range("D16:G1917") = Hidden
Else
If Date > CDate("30.09." & Year(Date)) And Date <= CDate("31.12." & Year(Date))  _
Then
Range("D16:K1917") = Hidden
End If
End If
End If
End If
End If
End Sub
Dank im Vorraus und Gruß
alex

AW: Einzelne Zellen ausblenden
F1

"....allerdings nie die ganze Spalte oder Zeile...."
das geht nicht.
F1
AW: Einzelne Zellen ausblenden
alex

geht nicht gibs nicht^^....
ist es nicht möglich die zellen in die zwischenablage zu kopieren danach zu löschen, die rechten zellen aufrücken zulassen, das weitere makro (tabellen soll gedruckt werden) auszuführen und dann die zellen aus der zwischenablage wieder einzufügen?
Brauche hilfe
alex

so mein makro funktioniert bis auf eine ausnahme. das einfügen aus der zwischenablage. kann mir dabei eventuell jemand helfen. ich weiß nicht was ich falsch mache
Sub test
If MsgBox("Sollen nicht benötigte Quartale, für eine bessere Übersicht, ausgeblendet werden?",  _
vbYesNo) = vbYes Then
If Date >= CDate("01.01." & Year(Date)) And Date < CDate("01.04." & Year(Date)) Then
Range("L16:S1917").Copy
Range("L16:S1917").Delete Shift:=xlToLeft
Else
If Date > CDate("31.03." & Year(Date)) And Date < CDate("01.07." & Year(Date)) Then
Range("L16:S1917").Copy
Range("L16:S1917").Delete Shift:=xlToLeft
Else
If Date > CDate("30.06." & Year(Date)) And Date < CDate("01.10." & Year(Date)) Then
Range("P16:S1917", "D16:G1917").Copy
Range("P16:S1917", "D16:G1917").Delete Shift:=xlToLeft
Else
If Date > CDate("30.09." & Year(Date)) And Date <= CDate("31.12." & Year(Date))  _
Then
Range("D16:K1917").Copy
Range("D16:K1917").Delete Shift:=xlToLeft
End If
End If
End If
End If
End If
Call druck_bereich
If Application.Dialogs(xlDialogPrinterSetup).Show = vbcancle Then
GoTo 1
Else
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
1: If Date >= CDate("01.01." & Year(Date)) And Date < CDate("01.04." & Year(Date)) Then
Range("L16:S1917").Insert Shift:=xlToRight
Range("L16:S1917").Paste
Else
If Date > CDate("31.03." & Year(Date)) And Date < CDate("01.07." & Year(Date)) Then
Range("L16:S1917").Insert Shift:=xlToRight
Range("L16:S1917").Paste
Else
If Date > CDate("30.06." & Year(Date)) And Date < CDate("01.10." & Year(Date)) Then
Range("P16:S1917", "D16:G1917").Insert Shift:=xlToRight
Range("P16:S1917", "D16:G1917").Paste
Else
If Date > CDate("30.09." & Year(Date)) And Date <= CDate("31.12." & Year(Date))  _
Then
Range("D16:K1917").Insert Shift:=xlToRight
Range("D16:K1917").Paste
End If
End If
End If
End If
End Sub

AW: Brauche hilfe
werni

Hi Alex
Wie ist es, wenn du vorübergehend einfach die Schrift in diesen Zellen auf weiss stellst, und nach dem Drucken wieder zurück.
Gruss Werner
AW: Brauche hilfe
alex

das bringt nix weil das ziel des makros sein soll die tabelle schmaler zumachen damit sie auf einem din a4 blatt im gesamten größer wird
AW: Einzelne Zellen ausblenden
Uduuh

Hallo,
dann kopiere deine Tabelle, lösche dort die Zellen, drucke sie aus und lösche anschließend die Kopie.
Gruß aus’m Pott
Udo