2017-09-07 10 views

Répondre

0

essayer de poing activer la feuille et ensuite utiliser le select mais d'abord avez-vous vraiment besoin de la sélection? C'est la méthode la plus coûteuse que vous pouvez appeler (encore parfois nécessaire)

Si vous avez juste besoin de lire/écrire une valeur dans la cellule, vous pouvez le faire de cette façon

Dim wkb as Workbook 
Dim wks as Worksheet 

wkb = Application.Workbooks("Book2.xlsx") 
wks = wb.Sheets("Sheet1") 

System.Windows.Forms.MessageBox.Show(wks.Range("A1").Value2) 
' or use this code for selecting 
' With wks 
' .Activate() ' not really sure you need it, test it 
' .Range("A1").Select 
' End With 
+0

wb = Globals.ThisWorkbook.Application.Workbooks.Open (Nom du fichier: = fileName, ReadOnly: = False) wb.Activate() \t \t \t TemplateSheet = Globals.ThisWorkbook .Sheets.Add (Après: = Globals.ThisWorkbook.ActiveSheet) \t \t \t TemplateSheet.Activate() TemplateSheet.Cells (1, 1) .Select() Même moi avons essayé l'activation de la feuille, mais il ne fonctionne pas – user1844634

+0

I suppose qu'il jette l'erreur sur la dernière ligne? Essayez si la commande d'activation de feuille fonctionne. Je ne peux pas tester maintenant ne pas avoir Visual Studio avec moi. Juste testé en VBA cela et il semble fonctionner 'Sub test() Dim wkb Comme classeur Set wkb = Application.Workbooks.Add Dim wks comme feuille de Set = wks wkb.Sheets.Add wks. Activer wks.Cells (10, 1) .Select End Sub' – PetLahev

+0

J'ai essayé avec la commande sheet activate. Cela fonctionne quelques fois, parfois il jette l'erreur. Étrange.. – user1844634

0

si vous souhaitez référencer une gamme dans une feuille différente, vous ne pouvez pas utiliser select metod. vous devez écrire votre code comme suit

Application.Goto Sheets(1).Range("A1")