Chcę uruchomić wyszukiwanie i zastąpienie wielu wartości w zakresie w programie Excel wartościami z 2 kolumn: A z oryginalnym łańcuchem; B z ciągiem zastępczym. Znalazłem już makro, które działa trochę (dzięki nixda), ale nie może obsłużyć myślników między niektórymi dłuższymi wartościami w oryginalnym łańcuchu.
Idealnie chciałbym móc uruchomić go tylko w wybranym zakresie. Dodatkowym bonusem byłaby możliwość wyboru zakresu wyszukiwania.
Poniżej znajdują się przykładowe wartości kolumn wartości oryginalnej i zastępczej:
Kolumna wartości oryginalnych:
T1-D7-F2-F3-
T1-D7-F2-F3-C33
U4 U5 Q2 Q4
U3-Q7.U1
R42-43-22-23-
Kolumna Wartości zastępcze:
T1,D7,F2,F3
T1,D7,F2,F3,C33
U4,U5,Q2,Q4
U3,Q7,U1
R42,R43,R22,R23
Aktualizacja w odpowiedzi na odpowiedź Gary'ego Studenta
Wartości w zakładce „dane”, kolumna A:
1000PF CAP
4 SCREWS
D21 D22 - 709
D4-U3-RV3-Q2-U3
D7 - 00004224
D7 - 0004224
D7 - 004224
D7-F2-C33-F3-U6
D7-F3-J1
END PLATE
END PLATES
F2 F3 - 219
F2-F3-T1
Q11-Q3-J2-J9-
Q2 Q10 U12
Q2 Q3 Q10 Q11
Q2 Q3 Q11 Q10
Q2- Q4- U4- U5
Q2-Q5-Q8-Q10
Q3-Q11.R95
Q5-C10-C35
Q5-C19
Wartości w znaczniku „tabela”, kolumna A będą takie same jak powyżej
Wartości w znaczniku „tabela”, kolumna B (wartości zastępcze):
1000PF_CAP
4SCREWS
D21,D22,000709
D4,U3,RV3,Q2,U3
D7,004224
D7,004224
D7,004224
D7,F2,C33,F3,U6
D7,F3,J1
END_PLATE(S)
END_PLATE(S)
F2,F3,000219
F2,F3,T1
Q11,Q3,J2,J9
Q2,Q10,U12
Q2,Q3,Q10,Q11
Q2,Q3,Q11,Q10
Q2,Q4,U4,U5
Q2-Q5-Q8-Q10
Q3,Q11,R95
Q5,C10,C35
Q5,C19
Po uruchomieniu makra otrzymuję następujące wyniki, zamiast tego, czego oczekuję:
1000PF_CAP CAP
4SCREW(S)S
D21,D22 - 709
D4,U3,RV3-Q2-U3
D700004224
D70004224
D7004224
D7,F2-C33-F3-U6
D7,F3-J1
END_PLATE(S)
END_PLATE(S)S
F2,F3 - 219
F2,F3-T1
Q11-Q3-J2,J9-
Q2,Q10 U12
Q2 Q3 Q10,Q11
Q2,Q3,Q11 Q10
Q2,Q4- U4,U5
Q2-Q5Q8-Q10
Q3,Q11.R95
Q5C10,C35
Q5C19
Jakieś pomysły?
Edytować
Po bieganiu to makro aby zastąpić wartości, mam problemy z następującymi wartościami:
Lewa kolumna poniżej = Wyszukiwane kolumny A i B mają te same wartości (nie powinny się zmieniać, z wyjątkiem tego, że R 3 powinno stać się R3).
Prawa kolumna poniżej = Wynik po uruchomieniu makra.
Q? Q?
Q1 Q?
Q2 Q?
Q3 Q?
Q4 Q?
Q5 Q?
Q6 Q?
Q7 Q?
Q8 Q?
Q9 Q?
QR? QR?
R 3 R?
R? R?
R0 R?
R1 R?
R2 R?
R3 R?
R4 R?
R5 R?
R6 R?
R7 R?
R8 R?
R9 R?
RE R?
RV R?
Odpowiedzi:
Oto małe przykładowe makro. Tabela tłumaczeń znajduje się w zakładce o nazwie „tabl”, a dane do edycji znajdują się w zakładce „dane”:
źródło
Jeśli zainstalujesz Dodatek RegEx Find / Replace , możesz użyć następujących wyrażeń regularnych, aby to osiągnąć, i przetestowałem to. To działa.
źródło
,$
i zastąp z niczym. Pozwoli to pozbyć się takich wiszących przecinków.