ihave a écrit une condition If si la condition de gauche, que si la cellule de 3 caractères est "CAK", copiez la cellule et collez-la sur une autre feuille. Cela a fonctionné avec succès, mais maintenant je souhaite rechercher 5, 6 mots pour rechercher comme "CAK", "BDD", "GHH", "BAK", "GHH", peut-on me dire comment garder plusieurs mots,
Je veux du code VBA comme si la cellule les 3 premiers caractères sont "CAK" ou "BDD" ou "GHH" ou "BAK" ou "GHH" puis copier et coller. P>
Sub NOTES()
For C = 27 To 33
A = Worksheets("EDAT").Cells(Rows.Count, 1).End(xlUp).Row
For I = 12 To A
Worksheets("EDAT").Activate
Worksheets("EDAT").Cells(I, C).Activate
If (Left(ActiveCell, 3) = "CAK") Then
Worksheets("sheet1").Cells(I, C).COPY
Worksheets("sheet2").Activate
b = Worksheets("sheet2").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("sheet2").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("sheet1").Cells(I, 10).COPY
Worksheets("sheet2").Activate
Worksheets("sheet2").Cells(b + 1, 8).Select
ActiveSheet.Paste
Worksheets("sheet1").Cells(I, 11).COPY
Worksheets("sheet2").Activate
Worksheets("sheet2").Cells(b + 1, 9).Select
ActiveSheet.Paste
End If
Next
Next
End Sub
3 Réponses :
Vous pouvez utiliser Match Méthode Pour faire correspondre la valeur contre la matrice.
array= Split("CAK,BDD,GHH,BAK,GHH", ",")
IsInArray(CellValue, array)
Changez simplement ceci:
If ((Left(ActiveCell, 3) = "CAK") or Left(ActiveCell, 3) = "BDD") or Left(ActiveCell, 3) = "GHH") or Left(ActiveCell, 3) = "BAK")) then
Je suis très heureux d'entendre cela! :) Vous êtes très bienvenu!
Si vous voulez faire la même chose chaque fois que les trois caractères correspondent, essayez ce qui suit:
Dim matchingLetters As Variant
matchingLetters = Array("CAK", "BDD", "GHH", "BAK", "GHH")
For Each str In matchingLetters
If (Left(ActiveCell, 3) = str) Then
Worksheets("sheet1").Cells(I, C).COPY
Worksheets("sheet2").Activate
b = Worksheets("sheet2").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("sheet2").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("sheet1").Cells(I, 10).COPY
Worksheets("sheet2").Activate
Worksheets("sheet2").Cells(b + 1, 8).Select
ActiveSheet.Paste
Worksheets("sheet1").Cells(I, 11).COPY
Worksheets("sheet2").Activate
Worksheets("sheet2").Cells(b + 1, 9).Select
ActiveSheet.Paste
End If
Next
Où vous êtes neuf, juste un rappel amical pour vous permettre de sélectionner la réponse que vous choisissez.