VBA Frage
#1
Hallo, ich benötige etwas Hilfe bei der Umsetzung einer Idee. Leider kenne ich mich so gut wie garnicht mit Makros und VBA aus, die verschiedenen Forenbeiträge die ich bei Google gefunden habe, haben mir leider nicht geholfen. Folgendes möchte ich erreichen:


Wenn ich in A1 ein "x" einsetze, dann sollen alle Spalten "B bis unendlich" in denen ich bei "B1 bis B unendlich" ein "x" eingetragen habe ausgeblendet werden.
Gleichzeitig sollen auch alle Zeilen "2 bis unendlich" ausgeblendet werden, sofern ich in "A2 bis A unendlich" ein "x" eingetragen habe.
Wenn ich dann das "x" in A1 wieder entferne, sollen automatisch wieder alle Spalten und Zeilen aufgeklappt werden. Alternativ wäre sowas wie ein Knopf statt dem "x"


Über Eure Hilfe würde ich mich riesig freuen, bin gerade echt am verzweifeln da ich nirgendwo was brauchbares finde.

Liebe Grüße


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hi

Hier ein Beispiel.
Doppelklick in A1.
Der Code setzt voraus das in Spalte(A) und Zeile(1) nur in den Zellen etwas steht die Ein/Ausgeblendet werden sollen.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
  Cancel = True
  On Error Resume Next
  Rows(1).SpecialCells(xlCellTypeConstants).Columns.Hidden = Not Rows(1).SpecialCells(xlCellTypeConstants).Columns(1).Hidden
  Columns(1).SpecialCells(xlCellTypeConstants).Rows.Hidden = Not Columns(1).SpecialCells(xlCellTypeConstants).Rows(1).Hidden
End If
End Sub
Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • HansMartin888
Antworten Top
#3
Hallo Elex,

vielen herzlichen Dank für deine schnelle Hilfe, einfach unglaublich wie man mit so wenig Code so ein tolles Ergebnis "zaubern" kann. Vielen lieben Dank!!!!!!!!!!!!!!!
Antworten Top
#4
Hinweis.
Der Code ist einfach hat aber den Nachteil dass Veränderungen in Spalte A und Zeile 1 nur erfolgen sollten wenn alle eingeblendet sind.
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • HansMartin888
Antworten Top
#5
Hallo,

könnte man das auch umdrehen, sodass alle Spalten und Zeilen in denen nichts steht ausgeblendet werden, anstatt alle Spalten und Zeilen in denen etwas steht?
Antworten Top
#6
Keiner da der mir da ein klein wenig weiterhelfen kann? Xmas33
Antworten Top
#7
Hallöchen,

blende alle aus und dann die ein, wo was steht
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Hi

In A1 steht Ein oder Aus.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
  Cancel = True
  On Error Resume Next
  If Target.Value = "Ein" Then
    Target.Value = "Aus"
    Cells.Columns.Hidden = False
    Cells.Rows.Hidden = False
  Else
    Target.Value = "Ein"
    Rows(1).SpecialCells(xlCellTypeBlanks).Columns.Hidden = True
    Columns(1).SpecialCells(xlCellTypeBlanks).Rows.Hidden = True
  End If
End If
End Sub
Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • HansMartin888
Antworten Top
#9
Funktioniert perfekt, vielen Dank für deine Mühe Elex!!
Antworten Top
#10
Lieber Elex,

gibt es denn in deinem Code die Möglichkeit, durch Klicken alle Spalten und Zeilen in denen nichts steht auszublenden, und gleichzeitig jene Spalten in denen ein bestimmtes Zeichen steht (z.B. ein "!"), nicht nur eingeblendet zu lassen (wie bisher) sondern auch noch links zu fixieren?

Mein Problem: Ich habe bereits die ersten 4 Spalten fixiert aber ich möchte dass nach Ausblenden noch eine weitere Spalte, welche sich jedoch mitten drin befindet links an die fixierten Spalten mit angeheftet wird. Ich weiß nun nicht ob dies überhaupt umsetzbar ist. 

Viele Grüße und eine schöne restliche Woche!!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste