Question : Microsoft Excel - changer un code appelé de Range With

Actuellement, j'ai Range appelée sur une feuille de travail (dans un cahier de travail) « BizCode » intitulé. le

Upon ouvrant le cahier de travail, Range appelée déjà est au commencement placé aux =ActivityCodes ! $B$20 : $B$33

This appelé Range est employé car une liste drop-down sur la facture worksheet.

We ont actuellement 4-5 cahiers de travail comme ceci et la seule différence entre chacun, est les données réelles dans le BizCode appelé gamme.  Ce que nous voudrions faire est de combiner tous ces cahiers de travail dans juste un, mais puis aurait besoin d'une manière de changer la référence de cellules de ce range.

In nos esprits, cela fonctionnerait comme ceci… que l'utilisateur s'ouvre avec le cahier de travail (qui s'ouvre à la feuille de travail de facture) et choisit le type de facture ils remplissant (choisi parmi une forme automatique avec la liste de types de facture).  En cliquant 'CORRECT », le BizCode appelé référence de cellules de gamme est changed.

How font nous changent les références de cellules de Range appelée par le code ?

FYI - les cahiers de travail doivent rester dans Excel 97-2003 format.

class= de

Réponse : Microsoft Excel - changer un code appelé de Range With

Bien… ainsi après beaucoup d'heures de recherche, j'ai trouvé la réponse à ma question pendant qu'on lui énonçait à l'origine…

« Dans nos esprits, cela fonctionnerait comme ceci… que l'utilisateur s'ouvre avec le cahier de travail (qui s'ouvre à la feuille de travail de facture) et choisit le type de facture elles remplissant (choisi parmi une forme automatique avec la liste de types de facture).  En cliquant 'CORRECT », le BizCode appelé référence de cellules de gamme est changé. »

Supposer que la feuille de travail principale s'appelle la « facture » et la feuille de travail de codes d'affaires s'appelle « BusinessCodes ».  Supposer également qu'il y a 3 gammes appelées (vous pourriez avoir cependant beaucoup que vous avez voulus), intitulées « BusCodes », « TravelCodes » et « ActivityCodes ».  Chacune des gammes appelées (juste mentionnées) se rapporte à une table simple des codes.  Il y a (comme mentionné dans la première distribution), plusieurs variations de chaque table pendant que chaque département au sein de la compagnie emploie différents codes afin de la clarté et de la ségrégation de comptabilité.  Ainsi la nécessité de pouvoir changer la gamme appelée référencée sur demande selon le type de facture étant complétée.  Encore, la disposition de facture pour chaque département est exactement identique, seulement les codes de table changent.

Ainsi, la solution la plus simple qui n'exige pas une conception du cahier de travail serait comme suit :

1) Créer une forme qui inclut une « boîte de contrôle » (ou le listbox), celle contient les différentes factures disponibles pour l'usage.

2) Employer un événement « sur clic » pour lancer le changement appelé de référence de Range.  Using une « boîte de contrôle », le code de VB apparaîtrait comme suit….


Sous-marin privé InvoiceType1_CheckBox_Click ()

Si Me.InvoiceType1_CheckBox.Value = rectifient alors

   Feuilles (« BusinessCodes »). Évident = rectifier
   Feuilles (« BusinessCodes »). Choisi
   Gamme (« A1 : A100 »). Nom = « BusCodes »
   Gamme (« B1 : B100 »). Nom = « TravelCodes »
   Gamme (« C1 : C100 »). Nom = « ActivityCodes »
   Feuilles (« BusinessCodes »). Évident = faux
    Feuilles (« facture »). Choisi
   Application.ScreenUpdating = rectifient
   Sortir le sous-marin
   Me décharger

Autrement

'réplique au-dessus de code pour chaque type option de facture.

Finir si
Finir le sous-marin

Naturellement, ce code pourrait être employé indépendamment d'où les tables sont localisées ou de la façon dont elles sont présentées parce que le code appelle explicitement chaque gamme et feuille de travail.  

Le code ci-dessus, les individus non techniciens pourraient continuer pour s'ajouter/information de suppression/changement dans les tables étendues et tant que les données de table n'ont pas dépassé la gamme.

Aucun doute, ce code ne pourrait être modifié pour localiser dynamiquement l'extrémité de chaque table, excepté laquelle enlèverait alors n'importe quel besoin d'IL personne de modifier jamais le codage encore pour ajouter ou enlever le type disponible options de facture… mais la beauté de ce codage est qu'elle est simple.  

Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us