2010-07-08 9 views
1

De manière honteuse, le code suivant ne fonctionne que si la feuille de calcul est sélectionnée dans la fenêtre Excel. Je veux vraiment finir cette macro bientôt mais ne peux pas sembler trouver comment choisir une feuille de travail spécifique ainsi elle est ouverte dans Excel? Merci beaucoup si quelqu'un sait comment. Je dois utiliser la gamme et ainsi de suite.Comment ouvrir une feuille de calcul dans vba?

sheet.Range(Cells(firstRow, 2).Address(False, False), Cells(lastRow, 50)).Select 
With Selection 
    .Copy 
End With 
sheet.Range(Cells(firstRow, 3).Address(False, False), Cells(lastRow, 51)).Select 
With Selection 
    .PasteSpecial xlPasteValuesAndNumberFormats 
End With 

Répondre

4

Vous pouvez activer la feuille de calcul par nom ou par index 1 (le premier classeur, le deuxième classeur, etc.). La syntaxe est la même, de toute façon.

Ceci active la 3ème feuille de calcul:

ActiveWorkbook.Sheets(3).Activate 

Ceci active la feuille de calcul nommée statistiques:

ActiveWorkbook.Sheets("stats").Activate 

Bien sûr, vous ne devez pas réellement faire la feuille de calcul sélectionnée dans Excel fenêtre pour travailler avec. Votre code utilise une variable appelée sheet, que je suppose que vous avez affectée à la feuille de calcul active. Au lieu de cela, vous pouvez set sheet = ActiveWorkbook.Sheets("stats"), puis travailler avec la feuille même si elle n'est pas visible.

1

Cahiers d'exercices (x) .Worksheets (x) .Activer?

Questions connexes