Macro Excel pour rechercher du texte, de trouver une cellule de référence, de copier des données dans une position fixe de la cellule de référence
J'espère que je peux faire en ce sens.
Je suis en train d'essayer de trouver des "Texte1" dans la colonne A et le cas échéant, de trouver la date ci-dessus "Texte1", offest jusqu'à 6 lignes et la copie "Texte2" il y et de le coller dans une autre feuille de calcul. Puis j'en ai besoin à nouveau de tout faire à partir de la prochaine instance de "Texte1". "Texte1" ne sont pas toujours à la même distance à partir de la date, "Texte2" est toujours de 6 lignes au-dessus de la date et de l'est de la Ville, de l'État Zopcode. J'ai vraiment besoin seulement le code postal.
Le texte est quotidienne d'un fichier si la date change tous les jours :). J'ai l'habitude de trouver des morceaux de code et je suis capable de les ajuster à travailler pour moi, mais tout ce que j'ai essayé jusqu'à présent n'a pas fonctionné. Il a travaillé plus tôt aujourd'hui, mais n'est pas maintenant et ne tourne pas en boucle à travers (toutes les boucles que j'ai essayé ont terminé avec une boucle infinie)
Sub GetZip()
Worksheets("Data_Test").Activate
Range("A1").Activate
' FInd first instance of Text1
Cells.Find(What:="Text1", After:=ActiveCell).Activate
' Find the date
Cells.Find(What:="12-Feb-14", After:=ActiveCell, SearchDirection:=xlPrevious).Select
' copy and paste Text2
ActiveCell.Offset(-6, 0).Copy
Worksheets("Data2").Select
Range("A65000").End(xlUp).Offset(1, 0).Select
ActiveCell.PasteSpecial (xlPasteAll)
Worksheets("Data_Test").Activate
'go back to Text1 that was found before
Cells.Find(What:="Housing Counseling Agencies", After:=ActiveCell).Activate
'find the next instance of Text1
Cells.Find(What:="Housing Counseling Agencies", After:=ActiveCell).Activate
End Sub
- Je obtenir de l'erreur d'Exécution 91:
Cells.Find(What:="12-Feb-14", After:=ActiveCell, SearchDirection:=xlPrevious).Activate
Vous devez vous connecter pour publier un commentaire.
Je vois que vous êtes encore plus-à l'aide de "Activer" et "Select". Ce sont des erreurs courantes lorsque vous êtes débutant. Comme je l'ai mentionné dans ma réponse à l'autre question StackOverflow, vous devriez essayer d'éviter de le faire. Je suis allé de l'avant et a créé une macro que je pense à faire ce que vous avez demandé, et je l'ai inclus des commentaires qui devraient expliquer chaque ligne de code. De cette façon, vous pouvez également voir comment le code fonctionne dans le cas où vous souhaitez recréer ou de le modifier. Faites moi savoir si ça vous donne de l'ennui...
m = Report2.Cells(Report2.UsedRange.Rows.Count + 1, 1).End(xlUp).Row + 1 'Get the row after the last cell in column "A" that contains a value.
j'ai pensé que j'avais peut-être changé quelque chose sur l'accident j'ai donc ajouté un nouveau module et copié le code et j'obtiens la même erreur. Mon classeur être corrompu?