Zeilen ausblenden/löschen

  • #1
B

berni_

Guest
Hallo,

gibt es eine Möglichkeit, dass automatisch die komplette Excel-Zeile ausgeblendet oder gelöscht wird, wenn ein bestimmter Buchstabe bzw, ein bestimmtes Wort in dieser Zeile vorkommt. (ist das vielleicht mit einer Wenn-Funktion möglich)

Vielen Dank!
 
  • #2
So nicht, aber über einen Umweg kannst du etwas sehr ähnliches hinkriegen:
Hilfsspalte erzeugen, die über WENN-Funktion ein x ausgibt wenn positiv und ein . ausgibt wenn negativ.
Danach nach der Hilfsspalte aufsteigend sortieren und die unerwünschten Zeilen verschwinden nach unten.

Ist das gut genug?

Über ein Makro (z.B. im Tabellenblatt-Code) geht es sicher auch, rechnet dann aber nach jedem Eintrag im Tabellenblatt neu durch und kann auf Dauer ziemlich nervig sein. (Außerdem kann ich nicht so viel Makro ;D)
 
  • #3
Der Makro im Tabellenblatt-Code könnte folgendermassen lauten, wenn man die Zeile(n) ausblenden will :

Code:
Option Explicit
'Suchbegriff, bei dem die Zeile ausgeblendet werden soll
Const c_LoeSuchbegriff = xxx

Dim Zelle As Range
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  For Each Zelle In Target
    If InStr(Zelle.Value, c_LoeSuchbegriff) Then
      Zelle.EntireRow.Hidden = True
    End If
  Next
End Sub

Um die betreffende Zeile zu löschen, muß Hidden durch Delete ersetzt werden.

Gruß Matjes :)
 
  • #4
Danke für eure Tipps,

nur daas erste ist ein bisschen umständlich und mit Makros kenne ich mich leider überhaupt nicht aus.

Naja vielleicht gibt es ja doch noch eine andere Möglichkeit oder ich mach es so wie du sagtest. klexy.

Lg Berni_
 
  • #5
Hallo berni_,

vielleicht willst Du ja mal das Makro ausprobieren.
Dazu folgende kleine Anleitung:

a) erstmal eine Kopie deiner Excel-Datei anlegen
(ist immer gut zum Ausprobieren)

b) Kopie der Excel-Datei öffnen

c) Mit Alt+F11 den VB-Editor öffnen
(der VBE öffnet sich, links siehst Du ein Fenster mit der Überschrift Projekt. In diesem findest Du einen Eintrag-> VBA-Project(DeineArbeitsmappe) und darunter die dazugehörigen Tabellenblätter.)

d)Doppelklick auf das Tabellenblatt, das deine Tabelle enthält
(Es öffnet sich im großen Bereich ein Fenster mit der Überschrift->Deine Datei - Deine Tabelle').

e)Hierhinein kopierst Du den Code des Makro (alles was im grauen Kasten steht)

f) jetzt noch deinen Suchbegriff anpassen
die der Zeile:
Const c_LoeSuchbegriff = xxx
das xxx gegen deine Suchbegriff ersetzen.

g)Datei speichern von->deiner Arbeitsmappe' mit Strg+S

h) mit Alt+Q den VB-Editor schliessen

Jetzt kannst Du schon ausprobieren, was passiert wenn Du deinen Suchbegriff auf dem Tabellenblatt in eine Zelle eingibst.

Viel Spaß
Matjes :)
 
  • #6
genau dieses makro würde ich brauchen, aber er zeigt es in der liste mit den makros nicht an, ergo ich kann es nicht ausführen *heul*...habe alles gemacht wie in dem beitrag erwähnt, aber es funkt net 3:- (((
 
  • #7
@matjes

hast du eine gute quelle für einsteiger, um die große kunst der makros/vba zu verstehen?
 
  • #8
Nur mal ein Gedanke, also bitte nicht hauen :-[:
Hast du dem Makro einen Namen gegeben? Also vor dem grauen Kasten von Matjes z.B. Sub Zeilen_mit_xxx_verschwinden_lassen
Und unter das Makro das Schlußsignal: End Sub
?

Solche Sachen haben mir am Anfang auch das Leben schwer gemacht.

@Frisör:
Die beste Einstiegshilfe ist:
- eine Tabelle hernehmen
- Makro aufzeichnen wählen
- irgendwas rumtippen und dann schauen, wie es aussieht.
Dann noch ein wenig Wintotal- und Spotlight-Lektüre und man kommt für den Hausgebrauch ganz gut über die Runden.
;D
 
  • #9
Hallo zusammen,

->Worksheet_Change' ist ein Excel-internes Ereignis, welches automatisch von Excel nach jeder Änderung des Tabellenblattes aufgerufen wird.
Ein Beispiel für einen Makro entsprechender Form, der von Hand aufzurufen ist, sähe folgendermassen aus:
Code:
Sub Zeilen_mit_xxx_verschwinden_lassen()
 ->Suchbegriff, bei dem die Zeile ausgeblendet werden soll
  Const c_LoeSuchbegriff = xxx
  Dim Zelle As Range
  
  For Each Zelle In ActiveSheet.UsedRange
    If InStr(Zelle.Value, c_LoeSuchbegriff) Then
      Zelle.EntireRow.Hidden = True
    End If
  Next
End Sub

Zum Einstieg in die VBA/Excel-Programmierung bietet sich jedes ausführliche Excel-Buch mit Programmierbeispielen an. Es sollte zur vorhandenen Excel-Version passen. Die Excel-Beispiele sollte man selbst eintippen, ab und zu die Excelhilfe zu den einzelnen Begriffen befragen und die Beispiele soweit wie möglich variieren, damit man das Spektrum der einzelnen Objekte kennenlernt.
'Objekte' - das ist der Schlüsselbegriff für VBA, Excel, Word usw.
Wichtig ist, dass man an den Beispielen lernt, welches Objekt welche Eigenschaften hat. Einen guten Überblick erhält man in der jeweiligen Hilfe.
- für Excel:
den VB-Editor aufrufen (Alt+F11), dann mit F1 die Hilfe aufrufen und irgendein Hilfethema auswählen. Im sich öffneden Hilfefenster links oben auf->Hilfethemen' klicken und auf dem Reiter->Inhalt' alle Hilfebüchlein der Reihe nach mal anschauen. Dort sind die Objekt-Hirarchie, die Methoden und Eigenschaften erklärt.

Gruß Matjes :)

ps: bis man das einigermassen flüssig beherrscht dauert es ein wenig - halt als wenn man eine Sprache lernt. Also mit kleinen Dingen anfangen und dann immer tiefer gehen.

Klexys Methode ist dabei sehr hilfreich, da man beim Aufzeichnen der Makros schon mal sieht, welche Objekte angesprochen werden. Der Code ist zwar nicht optimal, aber ein gutes Grundgerüst.
 
  • #10
@RebelAngel:
Hab deinen ursprünglichen Thread gelesen.

Werde dir einen passenden Makro schreiben. Dazu brauche ich noch einige Angaben:
- Spalte mit möglichen 0-Werten
- erste möglich Zeile mit 0-Wert
- ist in der auszublenden Zeile noch ein Text, eine Zahl, ein Datum .. enthalten

Gruß Matjes :)
 
  • #11
hab dank, werde dir morgen mehr informationen dazu geben...das ganze ist ne excel-tabelle, an der ich in der arbeit werke, hab sie zu hause nicht..es geht im prinzip darum, daß ich aus einer liste mit beträgen was rausnehme und es soll nur angezeigt werden, wenn da auch ein betrag ist

zB 15 Stunden Angestellte a 120 EUR = .... EUR
5 Stunden Arbeiter a 110 EUR = ... EUR
0 Stunden Hilfskräfte a 50 ? = .... EUR

Gesamt .... EUR

und die zeile mit 0 stunden soll halt nicht aufscheinen

genaueres morgen!
 
Thema:

Zeilen ausblenden/löschen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben