Ich brauche Hilfe von Ihnen, gute Leute. Ich habe das Netz durchsucht und finde keine Lösung für mein Problem. VB ist nicht meine Stärke, aber aufgrund eines echten Rückwärtssystems, das ich benutzen muss, scheint VB die Lösung zu sein, meine Entwicklungszeit zu verkürzen. Ich habe einen Code gefunden, der funktioniert, aber ich muss weiter ausführen.Suchen/Ersetzen in einer bestimmten Excel-Tabelle mit VB
Ich brauche diesen Code nicht in jedem Blatt zu suchen und zu ersetzen, sondern nur ein bestimmtes Blatt. Sobald ich das richtig verstanden habe, werde ich es modifizieren, um mehr zu tun, viel mehr. :)
Also, wie ändere ich diesen Code, um das zu tun?
Sub Multi_FindReplace()
'PURPOSE: Find & Replace a list of text/values throughout entire workbook from a table
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
Dim sht As Worksheet
Dim fndList As Integer
Dim rplcList As Integer
Dim tbl As ListObject
Dim myArray As Variant
'Create variable to point to your table
Set tbl = Worksheets("Table").ListObjects("Table1")
'Create an Array out of the Table's Data
Set TempArray = tbl.DataBodyRange
myArray = Application.Transpose(TempArray)
'Designate Columns for Find/Replace data
fndList = 1
rplcList = 2
'Loop through each item in Array lists
For x = LBound(myArray, 1) To UBound(myArray, 2)
'Loop through each worksheet in ActiveWorkbook (skip sheet with table in it)
For Each sht In ActiveWorkbook.Worksheets
If sht.Name <> tbl.Parent.Name Then
sht.Cells.Replace What:=myArray(fndList, x), Replacement:=myArray(rplcList, x), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
End If
Next sht
Next x
End Sub
Es ist ein bisschen mehr dieser Code am Ende tun wird, aber es würde den kompletten Umfang zu geben, ohne finanzielle Belohnung nicht fair. Nur diese Lösung wird ausreichen. :)
PS: Hoffe das Format funktioniert gut?
Ihnen sehr UGP danken. Es funktionierte. –
Ich habe eine andere Frage, wenn ich darf. Ich habe ein anderes Skript geschrieben (Wenn das der richtige Ausdruck ist?), Aber ich muss es jedes Mal 215 Mal mit verschiedenen Werten ausführen. In der Art der Codierung würde ich einen Funktionsblock (FB) verwenden. Was wäre der richtige Ausdruck dafür in VB? Ich lese die Funktionen in VB nach, aber das scheint das falsche "Werkzeug" zu sein. Subs und Loops scheinen dem zu entsprechen, was ich brauche. Bevor ich mich tangiere, bitte mich in die richtige Richtung lenken? –
Sie würden eine Schleife verwenden und eine Funktion oder ein Sub aufrufen. Sie können Methodenparameter zum Starten/Verwenden geben, wenn Sie sie aufrufen, nur die Funktion kann einen Wert zurückgeben. Das ist wie der einzige Unterschied. – UGP