Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1356to1360
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
Inhaltsverzeichnis

Nur einen bestimmten Zellbereich anzeigen

Nur einen bestimmten Zellbereich anzeigen
30.04.2014 12:27:45
Erik
Hallo Forumsmitglieder und Excel-Tüftler/-innen,
ich habe vor zwei Monaten mit einer Excel-Arbeitsmappe gearbeitet, die etwas enthielt, dass ich gern für ein anderes Projekt nutzen würde.
Ich erstelle im Moment eine Eingabemaske, die ich gern optisch etwas deutlich herausstellen will, in dem ich alle Spalten und Zeilen ringsum die Maske komplett ausblende. Es soll dann nur der Hintergrund von Excel zu sehen sein - so als würde man Excel öffnen, aber keine Arbeitsmappe.
Zur besseren Illustration habe ich einen Screenshot angehängt. Weder Google noch die Arbeitsmappe (da passwortgeschützter VBA-Bereich) selbst haben mir weitergeholfen.
Userbild
Ich benötige eigentlich nur einen Hinweis (Befehl/Objekt etc.), da es scheinbar mit "Spalten/Zeilen ausblenden" als solches wenig zu tun zu haben scheint.
Ich danke für eure Hilfe und Unterstützung!
Gruß
Erik

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur einen bestimmten Zellbereich anzeigen
30.04.2014 12:30:22
Hajo_Zi
Hallo Erik,
schon, blende unter Optionen noch die Spalten und Zeilenbeschriftung aus.

AW: Nur einen bestimmten Zellbereich anzeigen
30.04.2014 15:23:57
Erik
Hallo Hajo_Zi,
erst einmal vielen Dank für den Tipp - es ist zwar genau das, was ich schon gefunden habe, aber nun bin ich immerhin etwas weiter. Allerdings bin ich noch nicht am Ziel meiner Reise. :)
Folgenden Code habe ich in ein Modul eingetragen:

ActiveWindow.DisplayHeadings = False 'entfernt Zeilen- und Spaltenüberschriften
Rows("1:10").Hidden = False 'Soll eigentlich Zeile 1 bis 10 anzeigen
Columns("A:D").Hidden = False 'Soll eigentlich Spalte A bis D anzeigen
Rows.Hidden = True 'alle anderen Zeilen/Spalten sollen ausgeblendet werden, was er auch  _
prima tut
Columns.Hidden = True
Ich habe gerade noch versucht, ob es an der Reihenfolge der Befehle liegt - auch hier komme ich nicht voran.
Mein Stand ist, dass Excel alle Spalten und Zeilen ausblendet sowie die Überschriften. Aber es blendet nicht die Zeilen und Spalten ein, die ich gern angezeigt haben möchte. :(
Kannst du mir einen Tipp geben? Natürlich auch jeder, der die Antwort kennt bzw. mir reicht auch das Ende vom roten Faden. Danke!
Gruß
Erik

Anzeige
AW: Nur einen bestimmten Zellbereich anzeigen
30.04.2014 15:33:07
Hajo_Zi
Hallo Erik,
die Logik ist mir nicht klar aber Du wirst schon Deinen Grund dafür habe , warum die erst Zeilen und Spalten einblendest und hinterher alles ausblendest. Da brauchst Du es nicht vorher einblenden.
Ich hätte es wohl umgekehrt gemacht.
Gruß Hajo

AW: Nur einen bestimmten Zellbereich anzeigen
30.04.2014 16:35:14
Erik
Hallo Hajo_Zi,
ich habe die Nicht-Logik gewählt, weil die Logik nicht funktioniert (hat). D.h. mein erster Versuch sah so aus:

ActiveWindow.DisplayHeadings = False 'entfernt Zeilen- und Spaltenüberschriften
Rows.Hidden = True 'alle anderen Zeilen/Spalten sollen ausgeblendet werden, was er auch  _
prima tut
Columns.Hidden = True
Rows("1:10").Hidden = False 'Soll eigentlich Zeile 1 bis 10 anzeigen
Columns("A:D").Hidden = False 'Soll eigentlich Spalte A bis D anzeigen

Dieser hat leider meinen Wunsch nicht erfüllt...
Trotzdem danke für den Hinweis.
Gruß
Erik

Anzeige
AW: Nur einen bestimmten Zellbereich anzeigen
01.05.2014 13:30:18
Tino
Hallo,
hier mal eine Version für einen Zusammenhängenden Bereich.
In rngSicht den Sichtbaren Bereich angeben inklusive der Tabelle.
Sub Bereich_Maskieren()
Dim rngSicht As Range
'Sichtbarer Bereich 
Set rngSicht = Tabelle1.Range("B5:H50")

Application.ScreenUpdating = False
With rngSicht.Parent
    'activieren 
    .Select
    'Druckbereich aufheben 
    .PageSetup.PrintArea = ""
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False
    'erst einblenden 
    .Cells.EntireRow.Hidden = False
    .Cells.EntireColumn.Hidden = False
    'Hintergrundfarbe 
    rngSicht.Interior.Color = RGB(175, 255, 255)
    'Bereich invertieren und ausblenden 
    'Zeilen oben 
    If rngSicht.Rows(1).Row > 1 Then
       .Rows(1).Resize(rngSicht.Rows(1).Row - 1).EntireRow.Hidden = True
    End If
    'Zeilen unten 
    If rngSicht.Rows(rngSicht.Rows.Count).Row < .Rows.Count Then
       .Range(.Rows(rngSicht.Rows(rngSicht.Rows.Count).Row + 1), _
              .Rows(.Rows.Count)).EntireRow.Hidden = True
    End If
    'Spalten links 
    If rngSicht.Columns(1).Column > 1 Then
       .Columns(1).Resize(rngSicht.Columns(1).Column - 1).EntireColumn.Hidden = True
    End If
    'Spalten rechts 
    If rngSicht.Columns(rngSicht.Columns.Count).Column < .Columns.Count Then
       .Range(.Columns(rngSicht.Columns(rngSicht.Columns.Count).Column + 1), _
              .Columns(.Columns.Count)).EntireColumn.Hidden = True
    End If
End With
Application.ScreenUpdating = True

End Sub
Gruß Tino

Anzeige
AW: Nur einen bestimmten Zellbereich anzeigen
01.05.2014 15:48:34
Erik
Hallo Hajo und Forum,
ich meinen Code jetzt wie folgt erweitert:

Dim MaxRows, MaxCols As Long
MaxRows = Application.Rows.Count
MaxCols = Application.Columns.Count
ActiveWindow.DisplayHeadings = False 'entfernt Zeilen- und Spaltenüberschriften
ActiveSheet.Rows("11:" & MaxRows).Hidden = True 'blendet Zeile 11 bis zur letzten Zeile aus
Active.Sheet.Columns("A:" & MaxCols).Hidden = True 'blendet Spalte E bis zur letzten Spalte aus/ _
funktioniert leider so nicht :(
Das Zeilenausblenden funktioniert, das mit der Spalte ist wieder schwierig, weil MaxCols eine Long Integer enthält und nicht den letzten verfügbaren Spaltenbuchstabe.
@Toni: Vielen Dank für den Code, ich werde ihn mir am Montag anschauen. Er klingt sehr plausibel.
Ich frage dennoch mal in die Runde, ob mein Ansatz Potential hätte, zu funktionieren.
Gruß
Erik

Anzeige
AW: Nur einen bestimmten Zellbereich anzeigen
04.05.2014 01:20:42
Ewald
Hallo,
teste mal so.
Dim rowstart As Long
Dim rowende As Long
Dim colstart As Long
Dim colende As Long
ActiveWindow.DisplayHeadings = False 'entfernt Zeilen- und Spaltenüberschriften
With ActiveSheet
.Columns.Hidden = False
.Rows.Hidden = False
colstart = 5
rowstart = 10
colende = ActiveSheet.Columns.Count
rowende = ActiveSheet.Rows.Count
Range(Columns(colstart), Columns(colende)).EntireColumn.Hidden = True
Range(Rows(rowstart), Rows(rowende)).EntireRow.Hidden = True
End With
Gruß Ewald

AW: Nur einen bestimmten Zellbereich anzeigen
05.05.2014 11:24:22
Erik
Hallo Tino & Ewald,
ich habe eure Codezeilen ausprobiert.
@Tino: Es ist nicht ganz das, was ich suche. Auf deinen Weg bin ich gar nicht gekommen. Deine Codezeilen färben die gewünschten Zeilen blau. Ich wollte es allerdings so haben, dass alle Zeilen/Spalten, die ich nicht benötige, tatsächlich ausgeblendet werden.
@Ewald: Dein Tipp bringt mich schon weiter. Allerdings erhalte ich den Laufzeitfehler 1004: "Die Hidden-Eigenschaft des Rangeobjektes kann nicht festgelegt werden."
Folgenden Code habe ich ein Modul geschrieben:

Private Sub ShowCertainRange()
Dim rowstart As Long
Dim rowende As Long
Dim colstart As Long
Dim colende As Long
ActiveWindow.DisplayHeadings = False 'entfernt Zeilen- und Spaltenüberschriften
Worksheets("Tabelle1").Activate
With ActiveSheet
.Columns.Hidden = False
.Rows.Hidden = False
colstart = 5
rowstart = 10
colende = ActiveSheet.Columns.Count
rowende = ActiveSheet.Rows.Count
Range(Columns(colstart), Columns(colende)).EntireColumn.Hidden = True
Range(Rows(rowstart), Rows(rowende)).EntireRow.Hidden = True
End With
End Sub
Die Fehlermeldung tritt in dieser Zeile auf:

Range(Rows(rowstart), Rows(rowende)).EntireRow.Hidden=True
Das Blatt ist nicht geschützt, ich kann Spalten manuell ausblenden. Es gibt im Sichtbereich allerdings verbundene Zellen. Diese liegen innerhalb des sichtbaren Bereiches (d.h. die ausgeblendeten Spalten/Zeilen enthalten keine verbundenen Zellen, auch nicht an den Grenzen).
Verrückterweise funktioniert der Code in einer leeren Mappe wunderbar. :(
Ich hänge die Tabelle jetzt mal dran. Ab Zeile 43 (rowstart) funktioniert es. Mit einer niedrigeren Zeilenzahl funktioniert es nicht...
https://www.herber.de/bbs/user/90489.xlsm
Das Modul heißt "MdlShowCertainRange".
Könnt ihr mir bitte nochmal helfen? Wäre toll! :) Danke.
Gruß
Erik
Anzeige

106 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige