Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Zeilen/Spalten in Abhängigkeit von Zelle

VBA - Zeilen/Spalten in Abhängigkeit von Zelle
30.12.2014 10:43:45
Zelle
Hallo,
vorab schon mal vielen Dank für dieses Forum, es hat mir schon bei vielen Problemen mit Excel / VBA sehr geholfen.
Nun zu meinem Problem, ich bin noch sehr grün hinter den Ohren was VBA angeht und komme trotz viel Sucherei und Rumprobierens nicht auf eine geeignete Lösung:
In Abhängigkeit von der Zelle "T3" in der Werte von 22 bis 101 enthalten sein können, sollen Zellen ein bzw ausgeblendet werden.
Der einzublendende Bereich sieht wie folgt aus : Zeile 1 und daran scheitert es bei mir: die Zeilen 8 bis zu dem Wert aus Zelle "T3"+8 und die Spalten B(also 2) bis zu dem Wert der Zelle "T3"+2.
Bsp.: In T3 steht 22 , dann müsste die Zeilen eins und der Bereich B8:W29 angezeigt werden.
Außerdem soll dieser sichtbare Bereich neu berechnet werden.
Ich bin auf eure Hilfe/ Lösungen sehr gespannt und es wäre sehr nett, wenn ihr mir eine Kommentierung schreiben könntet, damit ich es besser nachvollziehen kann.
Vielen Dank und VG
Markus

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA - Zeilen/Spalten in Abhängigkeit von Zelle
30.12.2014 11:02:35
Zelle
Hallo Markus,
Zeile 1 kann auch nur bis W angezeigt werden, da der zweite Teil die vorgibt.
Option Explicit
Sub test()
'eins und der Bereich B8:W29 angezeigt werden.
Rows("2:7").EntireRow.Hidden = True
Rows("30:" & Rows.Count).EntireRow.Hidden = True
Columns("X:xfd").EntireColumn.Hidden = True
Calculate
End Sub

Anzeige
AW: VBA - Zeilen/Spalten in Abhängigkeit von Zelle
30.12.2014 11:20:34
Zelle
Hallo Hajo,
danke für deine Antwort, leider hilft mir das aber mit meinem Hauptproblem, also der Abhängigkeit von der Zelle T3, nicht weiter.
VG
Markus

VBA - Zeilen/Spalten in Abhängigkeit von Zelle
30.12.2014 11:28:27
Zelle
Hallo Markus,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "T3" Then
Select Case Target
Case 22
' der Code
End Select
End If
End Sub
Gruß Hajo

Anzeige
AW: VBA - Zeilen/Spalten in Abhängigkeit von Zelle
30.12.2014 12:44:14
Zelle
Hallo und danke für die prompte Antwort.
Habe es getestet und wie von mir leider befürchtet erfüllt die Funktion nicht ganz den von mir erhofften Zweck.
Der Knackpunkt ist ja, dass in "T3" verschiedene Werte stehen können, so z.B. eine 50 und die anzuzeigende Range dann neben Zeile 1 eben auf B8:AY57 (automatisch) geändert werden müsste.
Falls ich mich nicht täusche, sind doch momentan die Makros statisch, also nur auf einen absoluten Wert(hier 22) ausgelegt und nicht auf den Wert der Zelle T3?
VG& Danke
Markus

Anzeige
VBA - Zeilen/Spalten in Abhängigkeit von Zelle
30.12.2014 12:54:38
Zelle
Hallo Markus,
ich löse die Aufgabe nur für das was im Beitrag steht. Den Rest musst selber machen, da Du dies auch wolltest, sonst hättest Dub es beschrieben.
Mach noch paar Case. Vergesse nicht vorher den relevanten Bereich wieder einzublenden.
Gruß Hajo

Anzeige
AW: VBA - Zeilen/Spalten in Abhängigkeit von Zelle
30.12.2014 13:46:48
Zelle
Hallo Hajo,
ich verstehe nur Bahnhof?
Case ist doch eine Art wenn Bedingung oder? Also wird geprüft welchen Wert die Target Zeile hat und dann wird ein von mir vorgegebener Code ausgeführt? Somit müsste ich für jede Möglichkeit einzeln einen Code schreiben bei dem ich jeweils für diesen Einzelfall genau angebe was ich angezeigt haben möchte?
Ich verstehe einfach nicht wie ich es jetzt hinbekommen, dass sich dieser Code automatisch anpasst an T3 und je nachdem wie der Wert ist die Einblendung ändert.

Rows("2:7").EntireRow.Hidden = True
Rows("8:8+"T3").EntireRow.Hidden = false
Columns("X:xfd").EntireColumn.Hidden = True
Columns("2:2+"T3"").EntireColumn.Hidden = false
Calculate
Um es mal zu skizzieren.
VG Markus

Anzeige
Target ist dann die Zelle T3! Gruß owT
30.12.2014 12:54:52
Luc:-?
:-?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilen und Spalten in Abhängigkeit von einer Zelle mit VBA anpassen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke Alt + F11, um den VBA-Editor zu starten.

  2. Finde dein Arbeitsblatt: Im Projektfenster (Strg + R) doppelklicke auf das Arbeitsblatt, in dem die Makros laufen sollen.

  3. Füge den Code ein: Kopiere den folgenden VBA-Code in das rechte Fenster:

    Option Explicit
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Target.Address = "$T$3" Then
           Dim zeilenAnzahl As Long
           Dim spaltenAnzahl As Long
    
           zeilenAnzahl = Target.Value + 8 ' Wert aus T3 + 8
           spaltenAnzahl = Target.Value + 2 ' Wert aus T3 + 2
    
           ' Alle Zeilen und Spalten ausblenden
           Rows("2:7").EntireRow.Hidden = True
           Rows("8:" & zeilenAnzahl).EntireRow.Hidden = False
           Columns("B:XFD").EntireColumn.Hidden = True
           Columns("B:" & Chr(64 + spaltenAnzahl)).EntireColumn.Hidden = False
    
           ' Arbeitsblatt neu berechnen
           Calculate
       End If
    End Sub
  4. VBA-Editor schließen: Schließe den VBA-Editor, um zum Excel-Arbeitsblatt zurückzukehren.

  5. Teste die Funktion: Ändere den Wert in Zelle T3 und beobachte, wie sich die Sichtbarkeit der Zeilen und Spalten automatisch anpasst.


Häufige Fehler und Lösungen

  • Problem: Der Code funktioniert nicht, wenn ich den Wert in T3 ändere.

    • Lösung: Stelle sicher, dass die Zelle T3 aktiv ist. Der Code wird nur ausgeführt, wenn du die Zelle auswählst.
  • Problem: Die Zeilen oder Spalten werden nicht korrekt ausgeblendet.

    • Lösung: Überprüfe die Berechnungen für zeilenAnzahl und spaltenAnzahl. Diese müssen korrekt auf den Wert in T3 basieren.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch die bedingte Formatierung in Excel nutzen, um die Sichtbarkeit von Zellen zu steuern. Allerdings bietet dies nicht die gleiche Flexibilität wie VBA, um Zeilen und Spalten dynamisch auszublenden.


Praktische Beispiele

  1. Beispiel 1: Wenn in T3 der Wert 22 steht, wird der Bereich B8:W29 angezeigt.
  2. Beispiel 2: Ändere T3 auf 50, um den Bereich B8:AY57 anzuzeigen.

Diese Anpassungen helfen dir, schnell und effizient mit Excel aus Zeilen Spalten zu machen, abhängig von dem Wert in einer bestimmten Zelle.


Tipps für Profis

  • Code anpassen: Du kannst den Code weiter anpassen, um zusätzliche Bedingungen oder Berechnungen hinzuzufügen, je nach deinen spezifischen Anforderungen.
  • Fehlerbehandlung einfügen: Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Eingaben in T3 besser zu handhaben.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehr als nur eine Zelle zu überwachen? Du kannst weitere If-Bedingungen hinzufügen, um andere Zellen zu berücksichtigen.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass dein Sicherheitscenter Makros erlaubt.

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