Excel Makro - Suchen und Ersetzen & Spaltenende

mthiem

Grünschnabel
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
 
Erstmal Problem Nr I:

Code:
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
 
Super, hat funktioniert, besten dank.. !

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

Gruß
Martin
 
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
 
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.

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

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