Microsoft Excel

Herbers Excel/VBA-Archiv

bestimmte Inhalte per Makro löschen

Betrifft: bestimmte Inhalte per Makro löschen von: Christian
Geschrieben am: 12.11.2014 08:36:02

Hallo Excel-Freunde,
gibt es ein Makro, dass automatisch, also ohne dass ich es von Hand ausführen muss, sobald ich etwas in Tabelle2, Spalte A einfüge (auch wenn es mehrere Zeilen gleichzeitig sind), in jeder dieser Zellen das erste Komma sowie sämtlichen Text der nach dem ersten Komma steht löscht? Wenn ja seid ihr bitte so nett und helft mir dabei?

Danke und Gruß
Christian

  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Hajo_Zi
Geschrieben am: 12.11.2014 08:45:02

Hallo Christian,

Option Explicit                                     ' Variablendefinition erforderlich

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim RaBereich As Range                          ' Variable für Bereich
    Dim RaZelle As Range                            ' Variable für Zelle
    Set RaBereich = Range("A:A")                    ' Bereich der Wirksamkeit
    ' Zelle die in dem Bereich liegen auf die Variable schreiben
    ' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
    ' jede Zelladresse ist einzeln angegeben
    Set RaBereich = Intersect(RaBereich, Range(Target.Address))
    If Not RaBereich Is Nothing Then
        'ActiveSheet.Unprotect ("Passwort")
        Application.EnableEvents = False
        For Each RaZelle In RaBereich
            RaZelle = Application.WorksheetFunction.RoundDown(RaZelle, 0)
        Next RaZelle
        Application.EnableEvents = True
        'ActiveSheet.protect ("Passwort")
    End If
    Set RaBereich = Nothing                         ' Variable leeren
End Sub
GrußformelHomepage


  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Christian
Geschrieben am: 12.11.2014 11:33:01

Hallo Hajo,

Excel sagt mir leider Typen unverträglich und markiert beim Debuggen die Zeile

RaZelle = Application.WorksheetFunction.RoundDown(RaZelle, 0)

Kann das etwas damit zu tun haben, dass ich den Text nicht in Zeile 1 eingefügt habe, sondern es eigentlich so gedacht war, dass ich es an einer beliebigen Stelle in Spalte A einfügen kann? Mit dem Hintergedanken, dass ich da mehrere Texte untereinander kopieren will... Weil wenn ich es in Zeile 1 einfüge löscht er leider ebenfalls nichts, es kommt aber auch kein Fehler

oder liegt es daran dass ich das Makro statt in das Tabellenblatt in die ganze Mappe oder in ein Modul einfügen muss?

Gruß und schonmal danke
Chris


  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Hajo_Zi
Geschrieben am: 12.11.2014 11:36:03

mein Code geht in meiner Datei, Deine sehe ich nicht.
Der Code ist für die gesamte Spalte A.
Der Code gehört unter die Tabelle.

Gruß Hajo


  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Christian
Geschrieben am: 12.11.2014 11:55:48

Hallo Hajo,

lade dann doch mal eine Bsp.-Datei hoch.

Die Daten kommen aus Word Dokumenten, diese kopiere ich dann in Tabelle 1 und lösche die Spalten die ich nicht brauche. Danach sieht Tabelle 1 so aus wie in meiner Bsp-Datei.

Danach gehe ich hin und kopiere Tabelle 1 Spalte C und D in die gesamte Liste in Tabelle2 Spalte A und B.

In der Tabelle2 siehst du nun dass sich nach dem kopieren nichts geändert hat. In Tabelle4 siehst du, wie es eigentlich nachdem das Makro ausgeführt wurde aussehen soll.

Passwortschutz ist übrigens keiner im Einsatz.

https://www.herber.de/bbs/user/93700.xlsm


Gruß
Christian


  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Hajo_Zi
Geschrieben am: 12.11.2014 12:04:57

Gut dann habe ich die Aufgabe falsch interpretiert, Komma hatte ich als Zahl angesehen.

Option Explicit                                     ' Variablendefinition erforderlich

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim RaBereich As Range                          ' Variable für Bereich
    Dim RaZelle As Range                            ' Variable für Zelle
    Set RaBereich = Range("A:A")                    ' Bereich der Wirksamkeit
    ' Zelle die in dem Bereich liegen auf die Variable schreiben
    ' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
    ' jede Zelladresse ist einzeln angegeben
    Set RaBereich = Intersect(RaBereich, Range(Target.Address))
    If Not RaBereich Is Nothing Then
        'ActiveSheet.Unprotect ("Passwort")
        Application.EnableEvents = False
        For Each RaZelle In RaBereich
            If InStr(RaZelle, ",") > 0 Then
                RaZelle = Left(RaZelle, InStr(RaZelle, ",") - 1)
            End If
        Next RaZelle
        Application.EnableEvents = True
        'ActiveSheet.protect ("Passwort")
    End If
    Set RaBereich = Nothing                         ' Variable leeren
End Sub

Gruß Hajo


  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Christian
Geschrieben am: 12.11.2014 12:20:26

Hallo Hajo,

es tut mir leid, aber bei mir wird auch mit diesem Makro nichts gelöscht, weder wenn ich es in der Datei probierem die ich hochgeladen habe, noch wenn ich die Datei 93700.xlsm herunterlade und es dort probiere.

Gruß
Christian


  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Hajo_Zi
Geschrieben am: 12.11.2014 12:28:01

Hallo Christina,

bei mir schon. Ich habe es in Tabelle2 getestet, kopiert aus Tabelle1.
https://www.herber.de/bbs/user/93703.xlsm

Gruß Hajo


  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Christian
Geschrieben am: 12.11.2014 12:31:43

Hallo Hajo,

ich verstehe die Welt nicht mehr :-)

Mit der Tabelle klappt es auch bei mir, kann aber nichts feststellen, was ich jetzt anders gemacht habe als du.

Aber wie gesagt es funktioniert. Vielen DAnk

Chris


  

Betrifft: AW: bestimmte Inhalte per Makro löschen von: Christian
Geschrieben am: 12.11.2014 12:04:42

Hallo Hajo,

lade dann doch mal eine Bsp.-Datei hoch.

Die Daten kommen aus Word Dokumenten, diese kopiere ich dann in Tabelle 1 und lösche die Spalten die ich nicht brauche. Danach sieht Tabelle 1 so aus wie in meiner Bsp-Datei.

Danach gehe ich hin und kopiere Tabelle 1 Spalte C und D in die gesamte Liste in Tabelle2 Spalte A und B.

In der Tabelle2 siehst du nun dass sich nach dem kopieren nichts geändert hat. In Tabelle4 siehst du, wie es eigentlich nachdem das Makro ausgeführt wurde aussehen soll.

Passwortschutz ist übrigens keiner im Einsatz.

https://www.herber.de/bbs/user/93700.xlsm


Gruß
Christian


 

Beiträge aus den Excel-Beispielen zum Thema "bestimmte Inhalte per Makro löschen"