# Excel Makro - Suchen und Ersetzen & Spaltenende



## mthiem (3. September 2007)

Hallo, 
ich habe folgendes Problem:

Frage 1:
In einer Excel Tabelle hab ich immer eine verschiedene Anzahl von Zeilen.
Meist zwischen 5 und 50 Stück

Nun stehen in Reihe E verschiedene Anzahlen von Stunden eingetragen.
Und ich möchte, dass dann unter der letzten beschrifteten Spalte D das Wort "Summe" steht und unter der letzten beschrifteten Spalte E die Anzahl der durch eine Formel errechnete Stundenanzahl steht. Das ganze irgendwie als Makro... ich habs einfach nicht hinbekommen...

Soll dann so aussehen:
A-----B------------C-------------D------------E
ID----DATUM---BEGINN---ENDE----STUNDEN
1-----bla bla-----bla bla------bla bla----3,5
2-----bla bla-----bla bla------bla bla----2,5
---------------------------- ------*Summe----6,0*


Frage 2:
In einem Makro müsste ich ja problemlos nach einem String suchen und diesen dann ersetzen können:

    Cells.Replace What:="FALSCH", Replacement:="Nein", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Allerdings funktioniert dieser Befehl einfach nicht. Es passiert beim ausführen einfach gar nichts. Egal ob ich jetzt SearchOrder "Rows" oder "Columns" mache...

Kann mir da vielleicht auch jemand helfen 

Danke 

Gruß
mt


----------



## larryson (4. September 2007)

Erstmal Problem Nr I: 


```
Sub summe_setzen()
Dim bereich As Range
Set bereich = ActiveSheet.Range("E:E")
Sheets("Tabelle1").Activate

bereich.End(xlDown).Offset(1, 0).Select
ActiveCell.Offset(0, -1).Value = "Summe"
ActiveCell.Formula = WorksheetFunction.Sum(Range(bereich.End(xlUp).Offset(1, 0), bereich.End(xlDown).Offset.Address))
End Sub
```

Wenn's Probleme gibt, melden, dann kommentiere ich es noch aus


----------



## mthiem (5. September 2007)

Super, hat funktioniert, besten dank..  !

Wegen der Suchen und Ersetzen sache weiß keine eine Lösung ?

Gruß
Martin


----------



## Casy (5. September 2007)

Ich denke das Problem ist, das in der Zelle ein Fehler steht und nicht der Text FALSCH

Ich löse das Problem immer mit folgender Funktion

Function eliminateError(WERT As Variant) As Variant

    eliminateError = WERT

    If IsError(WERT) Then
        eliminateError = "Nein"
      else
        eliminateError = WERT   
    End If
End Function

Diese musst Du für jede Zelle anwenden oder Du baust diese als in Excel als Benutzerdefinierte Funktion bei den Formeln ein, die betroffen sind

Gruss
  Carsten


----------



## larryson (6. September 2007)

Und zu Deinem zweiten Problem.
Ich nutze die Ersetzenfunktion, um den englischen Punkt durch ein deutsches Komma zu ersetzen. Und es funktioniert.

Bei Deinem Code scheinen die betroffenen Zellen (also die, die nach dem entsprechendem String durchsucht werden sollen) zu fehlen, bei mir Spalte E.


```
Dim Rohdaten as Worksheet
SET rohdaten=Worksheets("Rohdaten_Gesamt")

rohdaten.Columns("E").Replace _
    What:=".", Replacement:=",", _
    SearchOrder:=xlByColumns, MatchCase:=True
```


----------

