Maison  >  Article  >  Tutoriel logiciel  >  Tutoriel VBA : Méthode de recherche de chaîne et de remplacement de valeur de cellule entre Excel et fichiers texte

Tutoriel VBA : Méthode de recherche de chaîne et de remplacement de valeur de cellule entre Excel et fichiers texte

WBOY
WBOYavant
2024-01-23 23:45:31529parcourir

Tutoriel VBA : Méthode de recherche de chaîne et de remplacement de valeur de cellule entre Excel et fichiers texte

Aide VBA : Comment implémenter la recherche de chaîne et le remplacement de valeur de cellule entre Excel et txt

Si votre fichier txt utilise un délimiteur de tabulation, alors le code suivant peut répondre à vos besoins

Sub ChangeTxt()

Dim FileN, TxtWb comme classeur, ToFindData comme chaîne

Dim ToSubData As String, c As Range, FirstAdr As String

Si MsgBox ("La cellule à trouver a-t-elle été sélectionnée ?", vbYesNo) = vbNo Then Exit Sub

ToFindData = Selection.Cells(1).Value

ToSubData = Selection.Cells(1).Offset(, 1).Value

FileN = Application.GetOpenFilename("Fichier txt, *.txt", , "Sélectionner le fichier txt")

Si TypeName(FileN) = "Boolean", alors quittez Sub

Workbooks.OpenText Filename:=FileN, consécutifdelimiter:=False, _

Tabulation :=Vrai, Espace :=Faux

Définir TxtWb = ActiveWorkbook

Set c = TxtWb.Sheets(1).UsedRange.Find(What:=ToFindData, _

LookAt :=xlPart, MatchCase :=False, matchbyte :=False, SearchFormat :=False)

Si ce n'est rien alors

FirstAdr = c.Adresse

Faire

c.Offset(, 4) = ToSubData

Set c = TxtWb.Sheets(1).UsedRange.FindNext(c)

Boucle jusqu'à c.Address = FirstAdr

TxtWb.Close savechanges :=True

MsgBox "Remplacement terminé"

Autre

TxtWb.Close False

MsgBox "Introuvable, veuillez sélectionner la cellule que vous souhaitez rechercher."

Fin si

Set c = Rien

Définissez TxtWb = Rien

Fin du sous-marin

Remplacement du contenu Excel VBA

Sous s()

Dim c As Range

n = Cellules(Rows.Count, "t").End(3).Row

Définir rg = Range("b6:t"& n)

rg.HorizontalAlignment = xlCenter

t = InputBox ("Entrez le numéro que vous souhaitez trouver")

Pour chaque c en rg

Si c ""” Et c "√" Et c "X" Alors

Si InStr(c, t) >0 Alors

c = "√"

Autre

c = "X"

Fin si

Fin si

Suivant

Pour chaque c en rg

Si c = "√" Alors

c.Font.Bold = Vrai

c.Font.Color = vbBlue

SinonSi c = "X" Alors

c.Font.Bold = Vrai

c.Font.Color = vbRed

Fin si

Suivant

Fin du sous-marin

Parcourez la feuille de calcul pour rechercher des chaînes et remplacer VBA

Plage("A1").Sélectionner

Sélection.Copie

Cells.Find(What:= "*Lighting*", After:=ActiveCell, LookIn:=xlFormulas, LookAt _

 :=xlPart, SearchOrder :=xlByRows, SearchDirection :=xlNext, MatchCase := _

False, MatchByte :=False, SearchFormat :=False).Activate

Cells.FindNext (Après :=ActiveCell).Activate

Cells.FindNext (Après :=ActiveCell).Activate

Cells.FindNext (Après :=ActiveCell).Activate

Cells.FindNext (Après :=ActiveCell).Activate

Cells.FindNext (Après :=ActiveCell).Activate

Cells.FindNext (Après :=ActiveCell).Activate

ActiveCell.Replace What: = "*Lighting*", Remplacement: = "De nombreux éclairages d'entreprise *30 fois", LookAt:= _

xlPart, SearchOrder :=xlByRows, MatchCase :=False, SearchFormat :=False, _

ReplaceFormat :=False

Cells.FindNext (Après :=ActiveCell).Activate

ActiveCell.Replace What: = "*Lighting*", Remplacement: = "De nombreux éclairages d'entreprise *30 fois", LookAt:= _

xlPart, SearchOrder :=xlByRows, MatchCase :=False, SearchFormat :=False, _

ReplaceFormat :=False

Cells.FindNext (Après :=ActiveCell).Activate

ActiveCell.Replace What: = "*Lighting*", Remplacement: = "De nombreux éclairages d'entreprise *30 fois", LookAt:= _

xlPart, SearchOrder :=xlByRows, MatchCase :=False, SearchFormat :=False, _

ReplaceFormat :=False

Cells.FindNext (Après :=ActiveCell).Activate

ActiveCell.Replace What: = "*Lighting*", Remplacement: = "De nombreux éclairages d'entreprise *30 fois", LookAt:= _

xlPart, SearchOrder :=xlByRows, MatchCase :=False, SearchFormat :=False, _

ReplaceFormat :=False

Cells.FindNext (Après :=ActiveCell).Activate

ActiveCell.Replace What: = "*Lighting*", Remplacement: = "De nombreux éclairages d'entreprise *30 fois", LookAt:= _

xlPart, SearchOrder :=xlByRows, MatchCase :=False, SearchFormat :=False, _

ReplaceFormat :=False

Cells.FindNext (Après :=ActiveCell).Activate

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer