macro pour Masquer des lignes dans excel 2010
Je suis un peu nouveau à la programmation en VBA. J'ai lu quelques trucs sur internet mais je ne pourrais pas trouver ce que je dois ou ne pourrais pas le faire fonctionner. mon problème:
dans la feuille de calcul "feuille 1" dans la cellule B6, une valeur est fournie pour combien d'années un projet seront exploitées.
dans les feuilles de calcul "feuille 2" et "fiche 3" j'ai fait une feuille de calcul pour les 50 ans ( l'an 1 à l'an 50; ligne 7 à la ligne 56).
dans la cellule b6 dans la fiche "1", je veux entrer une valeur comprise entre 1 et 50. lorsque la valeur est de 49 je veux cacher la ligne 56 dans la "feuil2" et "fiche 3'. lorsque la valeur est de 48 je veux masquer les lignes 55:56 dans la "feuil2" et la fiche "3", et ainsi de suite.
c'est ce que j'ai obtenu jusqu'à présent, mais je ne peux pas le faire fonctionner automatiquement lorsque je change la valeur dans la cellule B6:
Sub test1()
If Range("sheet1!B6") = 50 Then
Rows("52:55").EntireRow.Hidden = False
Else
If Range("sheet1!B6") = 49 Then
Rows("55").EntireRow.Hidden = True
Else
If Range("sheet1!B6") = 48 Then
Rows("54:55").EntireRow.Hidden = True
End If: End If: End If:
End Sub
j'espère que quelqu'un peut m'aider avec mon problème.
Merci
OriginalL'auteur Benno Houben | 2011-07-04
Vous devez vous connecter pour publier un commentaire.
Vous presque obtenu.
Vous vous cachez les lignes dans la feuille active. ce qui est correct. Mais une meilleure façon serait d'ajouter d'où il est.
devient
j'ai eu des choses étranges se produisent sans elle. Comme pour le rendre automatique. Vous devez utiliser le worksheet_change événement à l'intérieur de la feuille macro dans l'éditeur VBA (pas de modules, double-cliquez sur la feuille "sheet1", à l'extrême gauche de l'éditeur.) Dans cette feuille, utilisez le menu déroulant juste au-dessus de l'éditeur lui-même (il devrait y avoir 2 listes déroulantes). La zone de liste de la gauche, vous avez les événements que vous recherchez. Après cela, il suffit de jeter dans la macro. Il devrait ressembler le code ci-dessous,
Que c'est. Lorsque vous changez quelque chose, il va exécuter la macro test1.
OriginalL'auteur lionz
Eh bien, vous êtes sur le droit chemin, Benno!
Il y a quelques conseils sur la programmation VBA qui pourraient vous aider.
Utilisez toujours des références explicites à la feuille que vous souhaitez interagir avec. Sinon, Excel peut "supposer" votre code s'applique à la feuille active et à la fin vous allez voir c'vis de votre feuille de calcul.
Comme lionz mentionné, entrer en contact avec les indigènes méthodes Excel offre. Vous pouvez les utiliser sur la plupart de vos astuces.
Explicitement déclarer vos variables... ils vont montrer la liste des méthodes de chaque objet propose en VBA. Il peut sauver votre temps à creuser sur l'internet.
Maintenant, nous allons jeter un projet de code...
Rappelez-vous ce code doit être à l'intérieur de la Feuille Excel à l'objet, comme l'a expliqué lionz. Il s'applique uniquement à la Feuille 2, c'est à vous de l'adapter à la fois à la Feuille 2 et la Feuille 3 de la manière que vous préférez.
Espère que cela aide!
OriginalL'auteur Tiago Cardoso