Bereich mit Makro glätten

Man kann die Funktion =Glätten() auch über ein Makro ausführen lassen.
Das Makro dazu:

Sub GlaettenTabelle1()
    Dim rC As Range
    Sheets("Tabelle1").Select
    Application.ScreenUpdating = False
    For Each rC In ActiveSheet.Range("F12:N1000")
        If Not (rC.HasFormula) Then rC = Trim(rC)
    Next
    
End Sub

Es wird der Bereich F12:N1000 in der Tabelle1 geglättet.

Die Funktion kann genutzt werden, wenn man z.B. Werte von einer Excel-Arbeitsmappe in die andere kopiert und die dortigen Formeln nicht mehr funktionieren. Ich hatte das Problem mit der Formel =ANZAHL(). Obwohl keine Werte in Zellen geschrieben waren, wurde die Zelle als befüllt erkannt. Die Formel zählte die „leere“ Zelle mit. Mit dem Glätten-Makro wurde das Problem schnell und einfach gelöst.

Möchte man die letzte beschriebene Zeile dynamisch bestimmen lassen, dann muss man das Makro anpassen und mehrere kleine Makros berücksichtigen

Sub GlaettenTabelle1()
    Dim rC As Range
    Dim loletzte As Long
    
    Application.ScreenUpdating = False
    Sheets("Tabelle1").Select
    
    loletzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    
        For Each rC In ActiveSheet.Range("B12:n" & letzte)
        If Not (rC.HasFormula) Then rC = Trim(rC)
    Next
       
End Sub

Eine Antwort auf „Bereich mit Makro glätten“

  1. Die simulierte GLÄTTEN()-Funktion entfernt nicht doppelte Leerzeichen im Text, da TRIM () nur rechts und links vorangestellte bzw. angefügte Leerzeichnen entfernt

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert