Irgendwo klemmts
28.02.2008 08:47:06
Peter
Mit nachfolgendem Code möchte ich bewirken, dass beim Verlassen des Worksheets mit Namen "CW" die Spalte 1 bis 26 durchsucht werden, ob dort ein String "*T.*" oder "*C.*" existiert und wenn ja, soll in der ersten Spalte, wo dies zutrifft in dieser Spalte alle Leerzeichen entfernt werden.
Der Code lief ursprünglich, wenn ich, ohne die Tabelle zu verlassen, das Makro aufgerufen habe. Da das ganze nun mit worksheet_deactivate laufen soll, habe ich versucht, die notwendigen Ergänzungen vorzunehmen, doch irgendwo klemmts, da der Code ohne Wirkung bleibt
(vgl. auch hochgeladene Tabelle https://www.herber.de/bbs/user/50239.xls )
mit dem nachstehend aufgeführten Code bei der Tabelle "CW".
Danke für jeden Hinweis.
Peter
Option Explicit
Sub worksheet_deactivate()
Application.StatusBar = ""
Dim i As Integer
Dim rng As Range
ThisWorkbook.Activate
With Application
For i = 1 To 26
If .CountIf(Sheets("CW").Columns(i), "*T.*") + .CountIf(Sheets("CW").Columns(i), "*C.* _
") _
> 0 Then
With Sheets("CW")
Set rng = .Range(.Cells(1, i), .Cells(Cells(.Rows.Count, i).End(xlUp). _
Row, i))
End With
Exit For
End If
Next
End With
If Not rng Is Nothing Then rng.Replace What:=" ", Replacement:="", LookAt:=xlPart
End Sub