Heim > Artikel > Software-Tutorial > VBA-Tutorial: Methode zur Zeichenfolgensuche und zum Ersetzen von Zellwerten zwischen Excel- und Textdateien
Wenn Ihre TXT-Datei Tabulatortrennzeichen verwendet, kann der folgende Code Ihren Anforderungen entsprechen
Sub ChangeTxt()
Dim FileN, TxtWb As Workbook, ToFindData As String
Dim ToSubData As String, c As Range, FirstAdr As String
Wenn MsgBox („Wurde die zu findende Zelle ausgewählt?“, vbYesNo) = vbNo, dann Exit Sub
ToFindData = Selection.Cells(1).Value
ToSubData = Selection.Cells(1).Offset(, 1).Value
FileN = Application.GetOpenFilename("Txt-Datei, *.txt", , "Txt-Datei auswählen")
Wenn TypeName(FileN) = „Boolean“, dann Exit Sub
Workbooks.OpenText Dateiname:=DateiN, fortlaufendes Trennzeichen:=Falsch, _
Tab:=True, Leerzeichen:=False
Setze TxtWb = ActiveWorkbook
Setzen Sie c = TxtWb.Sheets(1).UsedRange.Find(What:=ToFindData, _
LookAt:=xlPart, MatchCase:=False, matchbyte:=False, SearchFormat:=False)
Wenn nicht c nichts ist, dann
FirstAdr = c.Address
Tu
c.Offset(, 4) = ToSubData
Setzen Sie c = TxtWb.Sheets(1).UsedRange.FindNext(c)
Schleife bis c.Address = FirstAdr
TxtWb.Close savechanges:=True
MsgBox „Austausch abgeschlossen“
Sonst
TxtWb.Close False
MsgBox „Nicht gefunden, bitte wählen Sie die Zelle aus, die Sie suchen möchten.“
Ende wenn
Setze c = Nichts
Setze TxtWb = Nichts
End Sub
Sub s()
Dim c As Range
n = Cells(Rows.Count, "t").End(3).Row
Setze rg = Range("b6:t"& n)
rg.HorizontalAlignment = xlCenter
t = InputBox („Geben Sie die Nummer ein, die Sie finden möchten“)
Für jedes c In rg
Wenn c ""“ Und c "√" Und c "X" Dann
Wenn InStr(c, t) >0 Dann
c = "√"
Sonst
c = "X"
Ende wenn
Ende wenn
Weiter
Für jedes c In rg
Wenn c = "√" Dann
c.Font.Bold = True
c.Font.Color = vbBlue
ElseIf c = "X" Then
c.Font.Bold = True
c.Font.Color = vbRed
Ende wenn
Weiter
End Sub
Bereich("A1").Auswählen
Auswahl.Kopieren
Cells.Find(What:="*Lighting*", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
Cells.FindNext(After:=ActiveCell).Activate
Cells.FindNext(After:=ActiveCell).Activate
Cells.FindNext(After:=ActiveCell).Activate
Cells.FindNext(After:=ActiveCell).Activate
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Replace What: = „*Lighting*“, Replacement: = „Many Company Lighting *30 times“, LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Replace What: = „*Lighting*“, Replacement: = „Many Company Lighting *30 times“, LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Replace What: = „*Lighting*“, Replacement: = „Many Company Lighting *30 times“, LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Replace What: = „*Lighting*“, Replacement: = „Many Company Lighting *30 times“, LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Replace What: = „*Lighting*“, Replacement: = „Many Company Lighting *30 times“, LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
Das obige ist der detaillierte Inhalt vonVBA-Tutorial: Methode zur Zeichenfolgensuche und zum Ersetzen von Zellwerten zwischen Excel- und Textdateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!