Le hyperlink Excel suit la macro après l'étape de la feuille de travail

J'ai une feuille excel qui prend une parsing de codes à barres (code à barres 2D / QR formé comme SN1234567 7654321 PA01234-5 ABC) lorsqu'elle est scannée via un scanner plug & play et parsing le code à barres dans des cellules individuelles vers la droite, l'espace étant le caractère délimitant . Maintenant, après cette parsing, j'ai une cellule utilisant une combinaison de la fonction hyperlien excel, une macro Hlink (ci-dessous) et une fonction vlookup pour find un hyperlink sur une feuille de calcul différente en utilisant les informations analysées. Maintenant, j'essaie d'écrire une macro, de sorte que, une fois que ce code à barres est scanné et que la feuille de travail_change soit même déclenchée, analysée et que l'hyperlien est trouvé, l'hyperlien est automatiquement cliqué. (J'utilise ce système pour tenter de "impertinent" un process dans lequel les opérateurs échouent à saisir correctement les nombres.) De toute façon, une capture d'écran de mon classur et tout le code que je suis en train d'utiliser sera ci-dessous, pouvez-vous m'aider? résoudre ce problème?

une capture d'écran de ladite feuille de calcul http://imgur.com/C5TJK0o

Code de changement de feuille de calcul:

Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range, rng As Range ' The variable KeyCells contains the cells that will ' cause an alert when they are changed. Set KeyCells = Range("A1:A10") 'Target can be a multi-cell range, so you need to account ' for that possibility Set rng = Application.Intersect(KeyCells, Target) If Not rng Is Nothing Then 'prevent re-activating this sub when splitting text... Application.EnableEvents = False textsplit Target Application.EnableEvents = True End If Exit Sub haveError: Application.EnableEvents = True End Sub 

Code d'parsing:

 Sub textsplit(rng As Range) Dim c As Range, arr For Each c In rng.Cells If Len(c.Value) > 0 Then arr = Split(c.Value, " ") c.Offset(0, 1).Resize(1, UBound(arr) + 1).Value = arr End If Next c End Sub 

Code Hlink:

 Function HLink(rng As Range) As Ssortingng 'extract URL from hyperlink 'postd by Rick Rothstein If rng(1).Hyperlinks.Count Then HLink = rng.Hyperlinks(1).Address End Function 

utilisé dans la cellule de lien sharepoint avec cette formaula qui trouve et extrait l'hyperlien d'une cellule sur une autre page. =HYPERLINK(HLink(INDEX(Table_owssvr[Name],MATCH(Parse!C3&"_"&Parse!D3,Table_owss vr[Name],0))),INDEX(Table_owssvr[Name],MATCH(Parse!C3&"_"&Parse!D3,Table_owssvr[Name],0)))

EDIT (pour plus de clarté): Tout ce code que j'ai publié fonctionne actuellement, le problème que je possède est automatiquement (avec la seule input de l'user pour parsingr ledit code à barres dans Excel) suite au hyperlink généré dans la colonne H.

EDIT 2: Pour donner un peu plus d'informations, j'ai simplement essayé d'append ce code ActiveWorkbook.FollowHyperlink Address: = Range ("H3"). Adresse, NewWindow: = False, AddHistory: = Véritable dans le sous-programme de modification de la feuille de travail après le text appel. Cette implémentation a donné l'erreur "Erreur d'exécution" -2147221014 (800401ea) ': Impossible d'ouvrir le file spécifié. "

Je pense que cette erreur est due à la valeur de H3 étant la partie "nom amical" de la fonction de hyperlink. Ce qui signifie que lorsque cette macro a essayé de "cliquer" ou de suivre H3, il a été rencontré avec la valeur 4512517_PA06872-1 et non l'hyperlien réel nécessaire pour le suivre.

Ok, donc c'est simplement votre macro HLink qui ne fait pas la bonne chose, la manière la plus simple serait de suivre directement l'hyperlien:

 Sub HLink(rng As Range) If rng(1).Hyperlinks.Count Then rng.Hyperlinks(1).Follow End Sub 

Cela ouvrira automatiquement votre browser par défaut pour accéder à l'URL / adresse de votre hyperlink .

Et la façon la plus difficile serait de faire reference à une application IE et d'ouvrir l'adresse que vous avez trouvée, puis de travailler avec elle, mais si vous souhaitez ouvrir l'hyperlien, ce code suffirait!