Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Namen mit Unterstrich in anderes Tabellenblatt übertragen
#1
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
Excel Version 2016
Antworten Top
#2
Hola,

dann schau dir mal Wechseln() an.

Gruß,
steve1da
Antworten Top
#3
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.
Excel Version 2016
Antworten Top
#4
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, " ", "_")
________
Servus
Case
Antworten Top
#5
Danke sehr für deine Hilfe. Funktioniert genauso, wie ich es brauche.
Excel Version 2016
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste