Zellen Löschen

  • #1
T

Thor

Neues Mitglied
Themenersteller
Dabei seit
04.01.2007
Beiträge
3
Reaktionspunkte
0
Hallo Leute,
hoffentlich kann mir jemand helfen!
Ich habe in Word eine Tabelle in Exel Kopiert nun ist es leider so das ich viele leer Zellen habe die ich mühsam :| Löschen muss gibt es da eine leichtere Alternative :knuppel2:
Gruß Thor
 
  • #2
wenn du sie als Excel Datei eingefügt hast, kannst du ja den Bereich von Excel kleiner machen

oder wie hast dus gemacht??
 
  • #3
Nicht so einfach ich habe in Word einen Text in eine Tabelle Umgewandelt und sie dann in eine Exel Tabelle hinein Kopiert und dabei tauchen viele leer Zellen in Exel auf eigendlich brauche ich ein Macro das einfach leere Zellen löscht und die Zellen nach links verschiebt die noch voll sind.
So besser Erklärt :-X
Hoffe gruß Thor
 
  • #4
für markierte Zeilen oder für das ganze Blatt ?

Gruß Matjes :)

ps: schick mir doch die Tabelle an meinen mailaddy. Dann kann ich gleich ausprobieren, ob es funktioniert.
 
  • #5
Das Makro löscht alle leeren Zellen im markierten Bereich. Mehrfach-Selektion ist nicht erlaubt.

Gruß Matjes :)
Code:
Option Explicit

Sub LeereZellenLoeschenShiftLeft()
'*** im selektierten Bereich leere Zellen löschen und
'*** nachfolgende nach links verschieben
'***
'*** selektierter Bereich darf nur aus einem Bereich bestehen.
'*** Mehrfach Selektion ist nicht zulässig


  Dim ws As Worksheet, r As Range
  Dim lRowAnf As Long, lRowEnd As Long
  Dim lColAnf As Long, lColEnd As Long
  Dim z As Long, sp As Long
  Dim bLeereZelleLoeschen As Boolean
  
  Set r = Selection
  Set ws = ActiveSheet
  If r.Count = 1 Then MsgBox  Nur eine Zelle selektiert.: GoTo AUFRAEUMEN
  If r.Areas.Count > 1 Then MsgBox mehrfache Selektion nicht erlaubt.: GoTo AUFRAEUMEN
  
 ->nur benutzten Bereich untersuchen
  Set r = Application.Intersect(r, ws.UsedRange)
  If r Is Nothing Then MsgBox nichts im benutzten Bereich selektiert.: GoTo AUFRAEUMEN
  
 ->Zeile von/bis, Spalte von/bis
  lRowAnf = r.Row
  lRowEnd = r.Row + r.Rows.Count - 1
  lColAnf = r.Column
  lColEnd = r.Column + r.Columns.Count - 1
  
 ->Bildschirm-Update abschalten
  Application.ScreenUpdating = False
  
 ->Zeileweise abarbeiten
  For z = lRowAnf To lRowEnd
    bLeereZelleLoeschen = False
   ->Spalten von rechts nach links abarbeiten
    For sp = lColEnd To lColAnf Step -1
      If Not bLeereZelleLoeschen Then
        If ws.Cells(z, sp).Value <>  Then bLeereZelleLoeschen = True
      Else
        If ws.Cells(z, sp).Value =  Then
          ws.Range(ws.Cells(z, sp), ws.Cells(z, sp)).Delete Shift:=xlToLeft
        End If
      End If
    Next
  Next
 ->Bildschirm-Update anschalten
  Application.ScreenUpdating = True
AUFRAEUMEN:
  Set ws = Nothing: Set r = Nothing
End Sub
 
  • #6
:1 :1 :1 :1 :1 :1 :1 :1
Einwandfrei Funktioniert Wunderbar
;D ;D ;D ;D ;D ;D ;D ;D
mml mml mml mml mml
 
Thema:

Zellen Löschen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben