Jika fail txt anda menggunakan pembatas tab, maka kod berikut boleh memenuhi keperluan anda
Sub ChangeTxt()
Malapkan FailN, TxtWb Sebagai Buku Kerja, UntukCariData Sebagai Rentetan
Malapkan ToSubData Sebagai Rentetan, c Sebagai Julat, FirstAdr Sebagai Rentetan
Jika MsgBox ("Adakah sel yang hendak ditemui telah dipilih?", vbYesNo) = vbNo Kemudian Keluar Sub
ToFindData = Pemilihan.Sel(1).Nilai
ToSubData = Selection.Cells(1).Offset(, 1).Value
FileN = Application.GetOpenFilename("Fail teks, *.txt", , "Pilih fail txt")
Jika TypeName(FileN) = "Boolean" Kemudian Keluar Sub
Workbooks.OpenText Filename:=FailN, consecutivedelimiter:=False, _
Tab:=Benar, Ruang:=Salah
Tetapkan TxtWb = ActiveWorkbook
Set c = TxtWb.Sheets(1).UsedRange.Find(What:=ToFindData, _
Lihat:=xlPart, MatchCase:=False, matchbyte:=False, SearchFormat:=False)
Jika Bukan c Tidak Ada Maka
FirstAdr = c.Alamat
Lakukan
c.Offset(, 4) = ToSubData
Set c = TxtWb.Helaian(1).UsedRange.FindNext(c)
Gelung Sehingga c.Alamat = FirstAdr
TxtWb.Tutup savechanges:=Benar
MsgBox "Penggantian selesai"
Lain
TxtWb.Tutup Salah
MsgBox "Tidak dijumpai, sila pilih sel yang anda ingin cari."
Tamat Jika
Set c = Tiada
Set TxtWb = Tiada
Tamat Sub
Sub s()
Malapkan c Sebagai Julat
n = Sel(Baris. Kiraan, "t").Tamat(3).Baris
Tetapkan rg = Julat("b6:t"& n)
rg.Penjajaran Mendatar = xlCenter
t = InputBox ("Masukkan nombor yang anda ingin cari")
Untuk Setiap c Di rg
Jika c ""” Dan c "√" Dan c "X" Kemudian
Jika InStr(c, t) >0 Kemudian
c = "√"
Lain
c = "X"
Tamat Jika
Tamat Jika
Seterusnya
Untuk Setiap c Di rg
Jika c = "√" Maka
c.Font.Bold = Benar
c.Font.Color = vbBlue
LainJika c = "X" Kemudian
c.Font.Bold = Benar
c.Font.Color = vbRed
Tamat Jika
Seterusnya
Tamat Sub
Julat("A1").Pilih
Pilihan.Salin
Cells.Find(What:= "*Lighting*", Selepas:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Aktifkan
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
ActiveCell.Ganti Apa: = "*Pencahayaan*", Penggantian: = "Banyak Pencahayaan Syarikat *30 kali", Lihat:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
ActiveCell.Ganti Apa: = "*Pencahayaan*", Penggantian: = "Banyak Pencahayaan Syarikat *30 kali", Lihat:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
ActiveCell.Ganti Apa: = "*Pencahayaan*", Penggantian: = "Banyak Pencahayaan Syarikat *30 kali", Lihat:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
ActiveCell.Ganti Apa: = "*Pencahayaan*", Penggantian: = "Banyak Pencahayaan Syarikat *30 kali", Lihat:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
ActiveCell.Ganti Apa: = "*Pencahayaan*", Penggantian: = "Banyak Pencahayaan Syarikat *30 kali", Lihat:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sel.Cari Seterusnya(Selepas:=ActiveCell).Aktifkan
Atas ialah kandungan terperinci Tutorial VBA: Kaedah untuk carian rentetan dan penggantian nilai sel antara Excel dan fail teks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!