Comment puis-je retourner une référence d'objet de feuilles de calcul? J'ai parcouru diverses recherches Google avec des résultats NADA.
Par exemple, j'ai un code de fonctionnement comme. Wshet déjà Dim'ed: P>
Function get_ExampleSheet() As Worksheets get_ExampleSheet = ActiveWorkbook.Worksheets("ExampleSheet") End Function
5 Réponses :
Pour renvoyer un objet à partir d'une fonction, vous devez fournir le mot-clé définir code>:
Le problème était que la fonction (dans votre question et dans ma réponse avant que je l'ait modifiée) avait des feuilles de calcul code> comme type de retour - qui est une collection de la feuille de calcul code> objets! Ainsi, supprimez le
S code>, de sorte qu'une feuille de calcul
code> est renvoyée (et utilisez toujours le mot clé code> mot clé)!
Vous retournez le mauvais type d'objet dans votre fonction.
Function get_ExampleSheet() As Worksheet Set get_ExampleSheet = ActiveWorkbook.Sheets("Sheet1") End Function
Sub Lookup() Dim state As Variant Dim PodName As Variant Set state = ThisWorkbook.Worksheets("Sheet1").Range("E:E") Sheets("Sheet1").Activate PodName = WorksheetFunction.VLookup(state, Range("A1:C55"), 2, False) ThisWorkbook.Worksheets("Sheet1").Range("F:F") = PodName End Sub Macro should stop once the target cell is blank
http: // ExcelmaCromastery .com / blog / index.php / the-toch-guide-to-works-in-Excel-VBA /
Dans votre partie habituelle du code P>
Function create_working_sheet(sheet_name As String) As Worksheet For i = 1 To Worksheets.Count If Worksheets(i).Name = sheet_name Then exists = True End If Next i If Not exists Then Worksheets.Add.Name = sheet_name 'if we want it at the end 'Sheets.Add(After:=Sheets(Sheets.Count)).Name = sheet_name End If Set create_working_sheet = ThisWorkbook.Sheets(sheet_name) End Function
Un aperçu complet des moyens de définir une feuille de calcul à l'aide de VBA peut être trouvée ici: http: // codevba.com/excel/set_worksheet.htm p>
Tandis que cela peut théoriquement répondre à la question, Il serait préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence .