in der Datentabelle sind sie nicht nebeneinander. Sie sind ein Teil einer großen Tabelle.
Hier eine bessre Erklärung was gefordert ist:
Es liegt eine große Tabelle mit versuchsdaten vor: 12000 Zeilen lang und breit bis zur Spalte „EK“.
In der „Mitte“ der Tabelle [Zeile XXX und drunter, die Zeile XXX ist der „schwimmende Bereich“, es kann je nach Prüfstand und Versuchszyklus auch mal 106, 112, 189 oder andere Werte annehmen]
Der relevante Bereich erstreckt sich also im Zeilenbereich von XXX (variabel!) bis [XXX+10000]. In diesem Bereich sind Hunderete von Spalten mit Messdaten. Drei dieser Spalten sind für die konkrete Auswertung interessant. Die Übersriften dieser Spalten sind bekannt: Ü1, Ü2, Ü3.
SO sieht die Tabelle aus:
ZEILE nicht relevant
ZEILE nicht relevant
ZEILE nicht relevant
ZEILE nicht relevant
ZEILE nicht relevant
ZEILE nicht relevant
ZEILE nicht relevant
ZEILE relevant
Daten _ _ _ Ü1 _ _ Ü2 _ _ Ü3_ _ _ _
Daten _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Daten _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Daten _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Daten _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Daten _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ZEILE nicht relevant
ZEILE nicht relevant
und SO möchte ich die Tabelle sehen:
ZEILE relevant
Daten Ü1 Ü2 Ü3
Daten _ _ _ _:
Daten _ _ _ _:
Daten _ _ _ _:
Daten _ _ _ _:
Daten _ _ _ _:
Daten _ _ _ _:
Daten _ _ _ _:
Mit folgendem Makro kann das Problem schon gelöst werden:
Sub zeilenUNDspaltenAUSBLENDEN()
Dim iEnd As Integer ’ ist die Zeile
Dim i As Integer ’ Laufvariable
Dim a As Integer
a = 1 ’ Spalte A
iEnd = 1 ’ Relevanter Bereich in Sheet beginnt -> Zeilennummer
Do Until Cells(iEnd, a).Value = „[Inhalt1]“
iEnd = iEnd + 1
Loop
iEnd2 = iEnd ’ Relevanter bereicht in Sheet endet
’ -> Zeilennummer finden ab Inhalt1
Do Until Cells(iEnd2, a).Value = „[Folgeinhalt]“ ’ Folgeinhalt als Abschnittsende
iEnd2 = iEnd2 + 1
Loop
For i = 2 To iEnd - 1 ’ erste Zeile stehen lassen, Buttons weiterhin sichtbar
Cells(i, 1).EntireRow.Hidden = True
Next i ’ Zeilen ausblenden
For i = iEnd2 To 12222 'ERSTE LEERE ZEILE finden, Nummer in Variable schreiben
Cells(i, 1).EntireRow.Hidden = True
Next i
’ Spalten ausblenden
For i = 2 To 200
’ 150: Die Nummer der letzten Spalte, die durchsucht
’ werden und aus/eingeblendet werden soll
’ 2: So bleibt die erste Spalte erhalten
Select Case Cells(iEnd + 1, i).Value
Case „Spalteninhalt1“
Cells(iEnd, i).EntireColumn.Hidden = False
Case " Spalteninhalt2"
Cells(iEnd, i).EntireColumn.Hidden = False
Case " Spalteninhalt3"
Cells(iEnd, i).EntireColumn.Hidden = False
Case " Spalteninhalt4"
Cells(iEnd, i).EntireColumn.Hidden = False
Case Else
Cells(iEnd, i).EntireColumn.Hidden = True
End Select
Next i
End Sub
DIese Lösung birgt für mich die Schwierigkeit, dass ich die Daten ( eingeblendet, Rest irrelevant und ausgeblendet ) nicht mit einem Makro in eine Grafik verarbeiten kann - die relevanten Spalten sind haben keine feste Nummer… Ich weiss nicht wie ich die Spalten in Variablen verarbeiten kann, bzw. meine versuche scheitern. Ich hoffe ich habe es verständlich beschrieben =)))