# Excel Spalten mit Bestimmtenhinhalt ausblenden



## Leroux (29. August 2008)

Hi ich geh hier grad kaputt bzw Excel bringt mich zum Wahnsinn.
Vorweg VB um Macros zu programmiern kann ich nicht und will ich mich jetzt auch nicht einarbeiten dazu hab ich leider keine Zeit(Beruflich)

Aber ich muss eine Auswertung machen und dazu hab ich eine Exceltabelle schicken lassen
in der Werte stehen. So jetzt müsste ich alle Zeilen ausblenden in denen bei Spalte E,H und I der String ".AG" NICHT vorkommt.

Könnte mir einer bitte ein Macro schreiben ich wäre sehr dankbar.


----------



## Zvoni (29. August 2008)

Frage: Die Bedingung *".AG" kommt nicht vor*. Ist das eine AND oder OR verknüpfte Bedingung?

Also, soll ausgeblendet werden, wenn ".AG" in allen 3 Spalten nicht vorkommt (AND), oder soll ausgeblendet werden, wenn es in mindestens einer Spalte fehlt (OR)?


----------



## Leroux (29. August 2008)

```
if ( Spalte E hat ".AG"   OR    Spalte H hat ".AG"    OR    Spalte I hat ".AG" ){
Ich bleib sichtbar
}else{
Mach mich unsichtbar
}
```

Also mit oder =) Danke für deine Interesse !


----------



## Zvoni (29. August 2008)

```
Dim i As Long

    For i=LetzteZeile To ErsteZeile

        If InStr(1,Tabelle1.Cells(i,5),".AG")=0 then Tabelle1.Rows(i).RowHeight=0  'Spalte E
        If InStr(1,Tabelle1.Cells(i,8),".AG")=0 then Tabelle1.Rows(i).RowHeight=0  'Spalte H
        If InStr(1,Tabelle1.Cells(i,9),".AG")=0 then Tabelle1.Rows(i).RowHeight=0  'Spalte I

    Next
```

Jetzt nur noch LetzteZeile und ErsteZeile durch deine Grenzen ersetzen.
Falls dein Arbeitsblatt nicht "Tabelle1" heisst, natürlich das auch ersetzen.
Achtung: UNGETESTET!!

Edit: Wupps! ".AG" soll NICHT vorkommen, also muss InStr=0 sein und nicht >0


----------



## Zvoni (29. August 2008)

Nachtrag: Oder einen Filter setzen, und in den Spalten E, H und I einen Benutzerdefinierten Filter setzen mit Kriterium "enthält nicht .AG"


----------



## Leroux (29. August 2008)

Ich danke dir ich werde es testen und dir bericht erstatten bin die sehr dankbar

```
---------------------------
Microsoft Visual Basic
---------------------------
Fehler beim Kompilieren:

Next ohne For
---------------------------
OK   Hilfe   
---------------------------
```

Kenn mich mit VB nicht so wirkich aus

//Mein fehler Kompiliern geht

Irgendwie tut er nicht, also ich muss ja im Edit ein neues Modul erstellen das Speichern dann über Daten-Macro->Ausführen und die Methode auswählen oder


----------



## Zvoni (29. August 2008)

Ja, allerdings musst du dann natürlich einen Namen für das Makro vergeben.


```
Public Sub Ausblenden()
Dim i as long

'Code von vorher --> Die For i-Schleife hier rein

End Sub
```


----------



## Zvoni (29. August 2008)

Ich bin ein Esel!

bei der For-Schleife fehlt was!


```
For i=LetzteZeile to ErsteZeile Step-1
```

Das Step -1 ist natürlich wichtig, wenn man rückwärts durch ne Schleife geht.
*grml*


----------



## Leroux (29. August 2008)

Okay es läuft jetzt aber ich glaub ich habs dann verdreht erklärt es sollen alle andern weg in denen KEIN .AG vorhanden ist, hab jetzt schon versucht die vorzeichen zu drehen aber irgendwie wenn ich = mache wirft er alles aus.


----------



## Zvoni (29. August 2008)

Ich habe meinen Code mit folgenden Daten mal getestet:
Spalte E in Excel
Müller .AG
Maier .GMBH
Schmidt .AG
Fritz .KG

Mein Code wirft alle raus, die kein ".AG" haben, es bleibt also nur noch
Müller .AG
Schmidt .AG

Wenn du das Gegenteil willst musst du einfach

```
If InStr(1,Tabelle1.Cells(i,5),".AG")=0
```
durch

```
If InStr(1,Tabelle1.Cells(i,5),".AG")>0
```
ersetzen


----------

