Hallo!
Ich will z.B. vom Tabellenblatt "Tabelle2" von der Spalte "A" Namen (z.B. Max Mustermann) in die Tabelle1 in die Spalte "B" übertragen. Es soll aber nicht der Name 1:1 übertragen werden, sondern es soll immer zwischen dem Vor- und Nachnamen ein "_" eingefügt werden und das Leerzeichen soll weggelöscht werden. Sprich, es sollte dann so aussehen: Max_Mustermann
Kann mir da vielleicht jemand helfen?
LG
Thomas
Hola,
dann schau dir mal Wechseln() an.
Gruß,
steve1da
Hallo!
Ich würde gerne durch VBA gleich das Leerzeichen ersetzen und durch ein "_" ersetzen.
Hier mein aktueller Code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'Wenn etwas geändert wird
If Target.Column = 5 Then 'in Spalte E
If ActiveSheet.Cells(Target.Row, 1).Value <> vbNullString Then 'und Spalte A nicht leer ist
With ThisWorkbook.Worksheets("Benutzerdaten")
strFind = ActiveSheet.Cells(Target.Row, 1).Value
End With
With ThisWorkbook.Worksheets("Namen")
Set rngFind = ThisWorkbook.Worksheets("Namen").Columns(2).Find(what:=strFind, LookAt:=xlPart) 'suche Wert aus Spalte A in Top30 - Teil 1 in Spalte B
If Not rngFind Is Nothing Then 'Wenn Wert existiert dann'
'ab hier wird ein neuer Name eingetragen'
Else 'sonst
With ThisWorkbook.Worksheets("Namen")
q = .Cells(5, 1).CurrentRegion.Rows.Count + 5
.Cells(q, 1).FormulaR1C1 = "=RANK(RC[5],C[5])"
.Cells(q, 2).FormulaR1C1 = strFind
.Cells(q, 3).FormulaR1C1 = "P"
.Cells(q, 5).FormulaR1C1 = "1000"
.Cells(q, 6).FormulaR1C1 = "=ROUND((RC[-2]/RC[-1]*100),2)"
.Cells(q, 7).FormulaR1C1 = Date
.Cells(q, 4).FormulaR1C1 = "0"
End With
End If
End With
End If
End If
End Sub
Es geht um den Wert "strFind", der soll verändert werden.
Hallo, :19:
wenn du keine Formel in die Zelle schreibst, musst du auch nicht "
FormulaR1C1" nehmen - schreibe die Zeile so: :21:
Code:
.Cells(q, 2).Value = Replace(strFind, " ", "_")
Danke sehr für deine Hilfe. Funktioniert genauso, wie ich es brauche.