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.

VBA; Text in Zelle nur kopieren wenn noch nicht vorhanden
#1
Guten Abend zusammen,

ich hätte mal wieder eine Frage und hoffe mir kann jemand helfen:

Ich möchte beginnend mit der Zelle M30 prüfen, ob in dieser ein Text hinterlegt ist. Ist dies der Fall, und ist in der Zelle V30 ein "Ja" angegeben, soll mir das Makro den Text in die Zelle AB30 kopieren.
Da der Text in Zelle M30 veränderlich ist, soll das Makro diesen nur in die Zelle AB30 kopieren, wenn er nicht bereits in der Zelle AB30 enthalten ist.

Jetzt zu meinem Problem:
Das funktioniert für den ersten Text auch super. Solange kein anderer Text hinzukommt, wird dieser nur einmal in der Zelle AB30 abgelegt. Ändere ich jetzt aber den Text in der Zelle M30 und führe das Makro anschließend mehrmals aus, kopiert es mir den Text immer wieder in die Zelle AB30.

Nachfolgend habe ich mal meinen Code angegeben. Kann mir jemand sagen, wie ich ihn verändern muss, dass er wie gewünscht funktioniert? Ich denke, dass das mit dem "Like" nur solange funktioniert, bis ich das erste Mal Text in die Zelle M30 kopiere. Allerdings komme ich nicht darauf, wie ich es ersetzen könnte, dass es klappt :(


Sub Suchen()

Dim i As Integer

For i = 30 To 49

    If Worksheets("Tabelle1").Cells(i, 13) <> "" And Worksheets("Tabelle1").Cells(i, 22) = "Ja" And Not Worksheets("Tabelle1").Cells(i, 28) Like Worksheets("Tabelle1").Cells(i, 13) Then
    Worksheets("Tabelle1").Cells(i, 28) = Worksheets("Tabelle1").Cells(i, 28) & Worksheets("Tabelle1").Cells(i, 13)
    End If

Next i
   
End Sub



Danke und Gruß
Sebbo
Antwortento top
#2
Code:
Sub Suchen()

Dim i As Integer
With Worksheets("Tabelle1")
    For i = 30 To 49
   
        If .Cells(i, 13) <> "" And .Cells(i, 22) = "Ja" And Not .Cells(i, 28) Like "*" & .Cells(i, 13) & "*" Then
          .Cells(i, 28) = .Cells(i, 28) & .Cells(i, 13)
        End If
   
    Next i
End With
End Sub


versuch mal so.  manchmal sind Platzhalter "*" sehr hilfreich
Antwortento top
#3
Servus Ralf,




vielen Dank für deinen Vorschlag, es funktioniert genau so wie ich es mir gewünscht habe! Smile



Grüße

Sebbo
Antwortento top


Gehe zu:


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