1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

EXCEL Makro; Bestimmte Zeilen such und evtl eine davon löschen

Discussion in 'Office-Programme' started by slimer, Sep 27, 2007.

Thread Status:
Not open for further replies.
  1. slimer

    slimer Byte

    Hi All,

    ich habe folgendes Problem:

    Ich habe eine Excel-Datei in der immer mal wieder Zeilen auftauchen die 25% Grau unterlegt sind.

    Ich suche ein Makro, das mir nach diesen grauen Zeilen sucht und wenn 2mal aufeinander eine graue Zeile kommt, die erste von beiden gelöscht wird.
    ich habe bereits verschiedenste Foren durchsucht, aber bis jetzt nichts passendes gefunden.

    Die Zeilen sind sozusagen die Überschriften für das was danach kommt. Es kann aber vorkommen, das eine grau zeile keine unterzeilen mehr hat. somit ist die nachfolgende zeile Grau. Ich suche ein makro, das mir nach diesen grauen Zeilen sucht wo mehreren nacheinander vorkommen.

    Nehmen wir an:
    111111111
    22222222
    33333333
    4
    4
    4
    4
    55555555
    6
    6
    6
    6

    die FETT markierten sind meine grauen Zeilen. in diesem fall möchte ich die 1 und die 2 löschen.

    Da ich in diesem Forum bis jetzt immer TOP Infos erhalten habe, setzte ich wieder einmal auf Euch.

    Ich hoffe ich habe das alles verständlich rübergebracht.

    gruß
     
  2. brum

    brum Kbyte

  3. slimer

    slimer Byte

    ich bastel ja schon.....das im forum läuft nebenher

    gruß
     
  4. slimer

    slimer Byte

    Also ich komme da auf keine Lösung. Ich habe auch zu wenig erfahrung mit der Sprache.

    Ich wäre dir unendlich dankbar, wenn du einen Lösungsvorschlag hast.

    Gruß
     
  5. slimer

    slimer Byte

    das müsste die lösung sein:

    Code:
    Sub löschenvonGrau()
        
        Dim i As Long
        
        zeile = 4
        spalte = 2 ' Spalte B
        Do While zeile <= ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
            If Trim(Cells(zeile, spalte).Interior.ColorIndex = 15) And _
               Trim(Cells(zeile + 1, spalte).Interior.ColorIndex = 15) Then
    
                'wenn Zelle leer, dann wird Macro beendet
                If ActiveSheet.Cells(zeile, spalte) = "" Then Exit Sub
                'löschen
                ActiveSheet.Rows(zeile).Delete
                zeile = zeile - 1
            End If
            zeile = zeile + 1
        Loop
    End Sub
     
  6. brum

    brum Kbyte

    Das "Trim()" kannst Du auf jeden Fall weglassen. Trim würde Leerzeichen am Anfang und am Ende eines Strings weglöschen...

    Du könntest vor dem "End If" ein "Else" einfügen. Dann schieb die Zeile "zeile=zeile+1" zwischen diese beiden und Du kannst das "zeile=zeile-1" weglassen. ;-)

    Und wofür hast Du die Variable i definiert?

    Aber grundsätzlich ist alles in Ordnung.

    Gruss
    Bruno
     
  7. slimer

    slimer Byte

    Danke für deine Verbesserungen - werde ich übernehmen. :-)

    Das i hatte ich anfangs drin...und vergessen voll zu entfernen

    dank und gruß
     
Thread Status:
Not open for further replies.

Share This Page