Option Explicit
Sub Ersetzenanderex()
'Dim Bereich As Object, Wertebereich As Object, Wertebereich2 As Object
'Warum Bereich u.a. als Objekt, wenn im Set Befehl als Range zugewiesen?
Dim Bereich As Range, Wertebereich As Range, Wertebereich2 As Range
Dim Zelle As Range
Dim Zelle2 As Range
Dim Zelle3 As Range
'Warum B.:V., wenn später nur C.;.V angesprochen ?
Set Bereich = ActiveSheet.Range("B8:V8")
For Each Zelle In Bereich
'Richtig!, jede Zelle von C8 bis V8 wird angesprochen
Zelle.Value = Replace(Zelle.Value, " ", "_")
Zelle.Value = Replace(Zelle.Value, "-", "_")
Next Zelle
Set Wertebereich2 = ActiveSheet.Range("C8:V9")
For Each Zelle2 In Wertebereich2
'Zelle3 hat keine Zuweisung, nur den Dim Befehl und somit NOTHING
'jede Zelle von C8 bis V9 wird angesprochen - ?????
'Zelle3.Value = Wertebereich2.Cells(8, 3).Value & "_in_" & Wertebereich2.Cells(9, 3).Value
'die Zellen C33:V33 jedes mal mit NOTHING !!! füllen ???
'Range("C33:V33").Value = Zelle3
Next Zelle2
'der Rest ist sinnlos, wieso etwas vergleichen, das ohnedies nie geändert wurde ?
Set Wertebereich = ActiveSheet.Range("C10:V29")
For Each Zelle In Wertebereich
If Zelle.Value = "" Then Zelle.Value = 0
'End If
Next Zelle
End Sub
'NUR MAL SO mit Range.Offset
Sub NurMalSo()
Dim c As Range, str As String
For Each c In Range("B8:V8")
str = Replace(c.Value, " ", "_"): str = Replace(str, "-", "_")
c.Offset(2, 0).Value = str & " in " & c.Offset(1, 0).Value
Next c
'Der Rest ist zu diffus beschrieben um ...............
End Sub
|