Excel - letzte eingefügte Zeile löschen

Dieses Thema Excel - letzte eingefügte Zeile löschen im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von jorx, 1. Apr. 2005.

Thema: Excel - letzte eingefügte Zeile löschen Hallo, vielleicht kann uns jemand helfen: Es werden Daten in eine Tabelle importiert. Nun kommt es vor, dass in...

  1. Hallo,

    vielleicht kann uns jemand helfen:
    Es werden Daten in eine Tabelle importiert. Nun kommt es vor, dass in einer Zelle die Zahl der Zeichen bei den importierten Daten über die Spaltenbreite hinausgehen kann. Die Zeichen, die zuviel sind müssen in die Zelle darunter eingesetzt werden und dafür muss eine neue Zeile eingesetzt werden. Dafür schrieben wir ein Makro:

    Dim länge As String
    Dim t As Integer

    Sub test()

    t = 16
    n = 255
    For Each C In Worksheets(1).Range(C16:C18)
    länge = C.Text
    länge4 = Left(länge, 30)

    If länge4 > Then
    erste = Left(länge, 30) ->ersten 30 Buchstaben
    rest = Mid(länge, 31, n) ->alles ab 31

    Range(C & CInt(t) & ).Select
    ActiveCell.Value = erste
    Rows(ActiveCell.Row + 1).Insert Shift:=xlDown
    Range(C & CInt(t + 1) & ).Select
    ActiveCell.Value = rest
    End If
    t = t + 1
    Next C

    End Sub

    Bei diesem Makro wird jetzt aber eine leere Zeile zuviel eingefügt. Wie bekommen wir die wieder weg?

    Vielen Dank schon mal für die Hilfe.
     
  2. Kann denn wirklich niemand helfen? Wir benötigen dringend Hilfe  :'(
     
  3. Hi
    Du könntest noch eine If Then Abfrage einbauen.

    If rest <> Then
    Range(C & CInt(t) & ).Select
    ActiveCell.Value = erste
    Rows(ActiveCell.Row + 1).Insert Shift:=xlDown
    Range(C & CInt(t + 1) & ).Select
    ActiveCell.Value = rest
    End If

    Wenn rest eine leere Zeichenkette enthält, muss diese ja nicht eingetragen werden ;)
     
  4. Hallo,

    danke Fizbin. Leider half es mir noch nicht. Vielleicht baute ich deine Zeilen noch nicht an der richtigen Stelle ein.
    Setze ich sie nach dem ersten End If ein, so werden zusätzlich etliche weitere Zeilen in der Tabelle eingetragen.
    Setze ich sie nach Next C ein, so erhalte ich das selbe Ergebnis wie vorher auch.

    Grüße
    Jörg
     
  5. Probier das mal so:

    Code:
    Sub test()
    
    t = 16
    n = 255
    For Each C In Worksheets(1).Range(C16:C18)
    länge = C.Text
    länge4 = Left(länge, 30)
    
    If länge4 >  Then
    erste = Left(länge, 30)     ->ersten 30 Buchstaben
    rest = Mid(länge, 31, n)    ->alles ab 31
    If rest <>  Then->#######
      Range(C & CInt(t) & ).Select
      ActiveCell.Value = erste
      Rows(ActiveCell.Row + 1).Insert Shift:=xlDown
      Range(C & CInt(t + 1) & ).Select
      ActiveCell.Value = rest
    End If->#######
    End If
    t = t + 1
    Next C
    
    End Sub
    
     
  6. Hallo Fizbin,

    vielen Dank, jetzt funktioniert das. Weißt du auch, was ich einstellen muss für den Fall, dass unser Problem nicht nur in Zelle C16 auftritt, sondern das Makro alle die Zellen selbständig sucht, in der die Zeichenzahl über die Spaltenbreite hinausgeht?

    Vielen Dank noch mal.

    Grüße
    Jörg
     
  7. Hallo,

    das letzte von mir angesprochene Problem konnte ich selbst lösen. Ich trug einfach bei t=1 ein und
    bei Range(C1:C2000)
    und nun durchsucht er die Spalte C von Zeile 1 bis 2000.

    Vielen, vielen Dank noch mal.

    Grüße
    Jörg
     
Die Seite wird geladen...

Excel - letzte eingefügte Zeile löschen - Ähnliche Themen

Forum Datum
Excel: Wie lautet d.Formel f. =HEUTE() aber minus 30 Tage? Oder 'letzter Monat? Microsoft Office Suite 2. Dez. 2010
vba befehl um in excel in die letzte zeile zu springen Microsoft Office Suite 16. Feb. 2005
Excel-Feature gesucht Microsoft Office Suite 11. Okt. 2016
Excel Tabelle Werte zu ordnen Microsoft Office Suite 23. Sep. 2016
Excel: Bereiche auf 'leer' Überprüfen Microsoft Office Suite 15. Sep. 2016