VBA - Excel Makro: Falls Suchkriterium in Tabelle, ersetze Wert mit wert aus Tabelle
#1
Hallo,

folgende Situation:

Zwei Tabellen: Tabelle A enthält falsche Werte, Tabelle B enthält die richtigen Werte für die Stellen, wo in Tabelle A falsche Werte eingetragen sind. Da Tabelle A ständig geändert wird, würde ich die Situation gerne mit einem Makro lösen. Sodass die Werte automatisch ausgetauscht werden, für den Fall, dass in Tabelle B ein richtiger Wert vorliegt.

Code:
Sub neu()
   If ActiveCell.FormulaR1C1 = _
       "COUNTIF(Umsatzexperten!R[-4]C[-14]:R[10]C[-14],Daten!RC[-1])" Then
       ActiveCell.FormulaR1C1 = _
       "=VLOOKUP(RC[-1],Umsatzexperten!R[-4]C[-14]:R[10]C[-13],2,FALSE)"
   End If
End Sub
 Zur Erklärung:
Die Tabelle "Umsatzexperten" enthält die korrigierten Werte. Der Aufbau der Tabelle ist immer so, dass in der linken Spalte das Suchkriterium ist und in der rechten der Wert.

Leider tut sich gar nichts wenn ich das Makro ausführe. Hab ich einen Fehler gemacht oder ist der ganze Ansatz falsch? Ich bin blutiger Anfänger :D
Top
#2
Hallo,

Dein Makro ersetzt in der Aktiven Zelle die in der Bedingung enthaltene Formel, wenn sie drin steht.
Bist Du gerade in X1000 und dort steht nix oder was anderes, dann passiert nix.

Du schreibst
Code:
Tabelle A enthält falsche Werte

Mit dem Code tauschst Du, wie gesagt, eine Formel aus. Als Bedingung steht da nicht, dass es um einen Wert geht, sondern, wie gesagt, um eine Formel. Steht also ein Wert und keine Formel in der Zelle, passiert nix.

Wie erkennst Du denn, dass es sich um falsche Werte handelt?
Durch welchen Wert willst Du denn einen falschen Wert ersetzen?

Wenn Durch diese Formel
"=VLOOKUP(RC[-1],Umsatzexperten!R[-4]C[-14]:R[10]C[-13],2,FALSE)"
richtige Werte geholt werden, kannst Du die nicht in allen Zellen einsetzen?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
(23.03.2017, 20:56)schauan schrieb: Hallo,

Dein Makro ersetzt in der Aktiven Zelle die in der Bedingung enthaltene Formel, wenn sie drin steht.
Bist Du gerade in X1000 und dort steht nix oder was anderes, dann passiert nix.

Du schreibst
Code:
Tabelle A enthält falsche Werte

Mit dem Code tauschst Du, wie gesagt, eine Formel aus. Als Bedingung steht da nicht, dass es um einen Wert geht, sondern, wie gesagt, um eine Formel. Steht also ein Wert und keine Formel in der Zelle, passiert nix.

Wie erkennst Du denn, dass es sich um falsche Werte handelt?
Durch welchen Wert willst Du denn einen falschen Wert ersetzen?

Wenn Durch diese Formel
"=VLOOKUP(RC[-1],Umsatzexperten!R[-4]C[-14]:R[10]C[-13],2,FALSE)"
richtige Werte geholt werden, kannst Du die nicht in allen Zellen einsetzen?

Es handelt sich um eine Umfrage:
In der Auswertung sieht das folgendermaßen aus: Links der Name, rechts daneben das Geburtsjahr
In der Umfrage haben aber nicht alle geschafft ihr Geburtsdatum ordnungsgemäß einzugeben...mal mit datum, mal mit irgendwelchen Kommentaren...
Nun in der zweiten Tabelle (B) habe ich eine Liste angefertigt, in der die Namen aufgeführt sind, die in der Auswertung fehlerhaft sind und ein richtiges Jahr eingetragen... da immer wieder neue Umfragen eintrudeln, ändert sich Tabelle A permanent, dabei werden alle werte aktualisiert...auch die falschen daher brauche ich ein makro das ungefähr folgendes macht:

schaue in tabelle A nach allen Namen, überall wo der Name in Tabelle A und B gleich ist, nimm das geburtsjahr, dass in tabelle B steht und setzte es in tabelle A neben den namen ein
Top
#4
Hi,
hier mit Hilfsspalte:
A
ABCD
2Name1Vorname1Name1Vorname11970
3Name2Vorname2Name2Vorname2
4Name3Vorname3Name3Vorname3

verwendete Formeln
Zelle Formel Bereich N/A
D2=SVERWEIS($C2;B!$C$1:$D$2000;2;0)
C2:C4=A2&B2


B
ABCD
2Name1Vorname1Name1Vorname11970

verwendete Formeln
Zelle Formel Bereich N/A
C2=A!A2&A!B2
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit



oder so, ohne Hilfsspalte in A:

A
ABC
2Name1Vorname11970
3Name2Vorname2#NV
4Name3Vorname3#NV

verwendete Formeln
Zelle Formel Bereich N/A
C2:C4=VERWEIS(A2&B2;B!C2: D3)
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit

Top


Gehe zu:


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