Problem mit VBA Excel: Wert Finden und Zeilen daneben ersetzen.

1 Antwort

Ich kann keinen Kopierbefehl erkennen.

Wenn du Zellinhalte kopieren willst, dann machst du [Zielzelle].value = [Quellzelle].value

Ansonsten bietet das Range-Objekt auch ganz normal Copy und Paste an.

Hier zwei Beispiele:

Call Range("Tabelle1!A1").Copy(Range("Tabelle2!A1"))
Range("Tabelle2!A2").Value = Range("Tabelle1!A1").Value

Vielleicht solltest du mit Zwischenergebnissen arbeiten, d. h. das Ergebnis von Cells.Find(...) in einer Variablen zwischenspeichern. Das wird es für dich übersichtlicher machen.


ALHAREZ 
Fragesteller
 13.09.2013, 08:50

Das mit .value oder Range weis ich, hilft mir aber nicht weiter.

Er sucht den Wert A1 Aus der Tabelle1 in Tabelle2 und soll dort den jeweils rechts danebenstehenden Wert mit A2 Aus Tabelle1 ersetzen. Mein Problem liegt außerdem darin, das er die Gefundene Zelle zwar markiert, sie allerdings nicht selektiert womit halt eine ActiveCell Funktion auch nicht funktioniert.

Die Zwischenergebnisse sind schon zwischengespeichert. eigentlich stammen sie aus einer Listbox, das sich auf eine andere Textbox bezieht, die sich wiederum auf eine Listbox bezieht - alle in unterschiedlichen Formularen ;)

0
Suboptimierer  13.09.2013, 10:53
@ALHAREZ

Du kannst sie mit .Select selektieren. .Interior.Color musst du dann weglassen.

Alternative:

Dim rFundstelle
set rFundstelle = Cells.Find(What:=Worksheets("Tabelle1").Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
rFundstelle.Select
rFundstelle.Interior.Color = vbRed
rFundstelle.Offset(0,1).value = Range("Tabelle1!A2").value

Ist nicht getestet. Wenn das nicht passt, verstehe ich dich einfach nicht.

1