2009-07-29 12 views
0

Je suis novice en programmation dans Excel. J'ai fait très peu de Visual Basic. Ce que je voudrais faire est de vérifier une colonne sur une feuille dans Excel et de comparer toutes les valeurs à une colonne dans une feuille différente dans Excel. Maintenant, le problème est, est-il possible que lorsque je clique sur l'une des cellules, il est "lié" à l'autre et me conduit à la cellule correspondante. Je voudrais que cela soit implémenté dans la feuille de calcul et ne pas être une "macro". Si quelqu'un peut l'aider serait très apprécié.Programmation VBA dans Excel

+0

Si vous ne voulez pas mettre en œuvre cela comme une macro, pourquoi baliser la question VBA? – Treb

+0

Puis apparemment j'ai mal compris. Est-ce que Excel peut être programmé uniquement pour les macros? Par opposition à l'écoute d'un événement? –

+0

excel a des cellules qui peuvent contenir des formules. ceux-ci sont évalués dans un ordre spécifique. bien et VBA peuvent étendre ce comportement de trois façons: a) vous créez votre propre formule qui renvoie une certaine valeur, ou b) vous gérez les événements qui se produisent si, par exemple, le contenu d'une cellule est modifié ou la sélection est passée à une autre cellule, ou c) vous créez votre propre addin. cela nécessite également des connaissances en programmation, vous ne pouvez pas en dire beaucoup sur la dernière option. – Atmocreations

Répondre

4

"macro" et "implémentation dans la feuille de calcul" est presque identique. la macro est, selon la façon dont vous le faites, stockées dans le fichier tableur (.xls)

vous pouvez obtenir le contenu d'une cellule en lisant

Range("A1").Value // Any cell-reference is valid here. 

Si vous voulez lire une colonne entière , vous devez utiliser une sorte de boucle. La liaison dont vous parlez peut être effectuée avec l'événement Worksheet.SelectionChange. par exemple. squelette suivant:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

End Sub 

vous pouvez maintenant remplir ce qui devrait se produire lorsque la sélection a changé. Avec Target.Column et Target.Row vous pouvez lire la ligne et faire les tests appropriés.

Vous pouvez basculer la vue sur une feuille spéciale à l'aide de la feuille de calcul.Activate-Method qui affiche la feuille de calcul sur laquelle vous appelez la méthode.

espoir que cela clarifie un peu ... si vous avez besoin de détails, je vais faire quelques recherches ...

ce qui a trait

+0

Si j'ai raison, une macro doit être liée à un "ctrl + 'caractère" "ou doit-elle être lancée manuellement? Je voudrais exceller à "écouter" presque comme un auditeur d'action java pour qu'un événement ait lieu. donc quand je clique sur une cellule spécifiée, elle me met automatiquement sur la feuille suivante avec la même valeur sélectionnée. En ce qui concerne la version tronquée de la fonction, je vais regarder dans. Merci beaucoup –

+0

Worksheet_SelectionChange-Event se déclenche lorsque vous modifiez la sélection sur la feuille de calcul en cours. vous pouvez éventuellement placer une macro sur une barre d'outils personnalisée-icône et/ou raccourci. Cependant, l'utilisateur doit avoir un ensemble de macrosécurité suffisamment bas OU accepter d'exécuter votre macro s'il le souhaite. – Atmocreations

+0

D'accord, je vais finir par en faire une macro parce que je pense que si une rangée de cellules est constamment cliquée, puis il est constamment passé à la feuille suivante qui est beaucoup de va-et-vient que doit être fait. Merci de votre aide. –

Questions connexes