Rumah >Tutorial perisian >Perisian Pejabat >Tutorial VBA: Kaedah untuk carian rentetan dan penggantian nilai sel antara Excel dan fail teks
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!