Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Einzelne Zellen ausblenden | Herbers Excel-Forum


Betrifft: Einzelne Zellen ausblenden von: alex
Geschrieben am: 03.12.2009 17:46:15

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

  

Betrifft: AW: Einzelne Zellen ausblenden von: F1
Geschrieben am: 03.12.2009 17:50:04

"....allerdings nie die ganze Spalte oder Zeile...."

das geht nicht.

F1


  

Betrifft: AW: Einzelne Zellen ausblenden von: alex
Geschrieben am: 03.12.2009 18:16:01

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?


  

Betrifft: Brauche hilfe von: alex
Geschrieben am: 03.12.2009 18:47:20

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



  

Betrifft: AW: Brauche hilfe von: werni
Geschrieben am: 03.12.2009 20:15:23

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


  

Betrifft: AW: Brauche hilfe von: alex
Geschrieben am: 03.12.2009 20:23:26

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


  

Betrifft: AW: Einzelne Zellen ausblenden von: Uduuh
Geschrieben am: 03.12.2009 21:09:48

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



Beiträge aus den Excel-Beispielen zum Thema "Einzelne Zellen ausblenden"