Hämta data från stängda arbetsböcker
Istället för att hämta data från stängda arbetsböcker med hjälp av ADO/SQL kan vi nyttja den inbyggda funktionen ExecuteExcel4Macro i Excel.Fördelen med denna metod, jämfört med ADO, är att ingen overhead skapas i VB-projekten då inget externt objektbibliotek behöver anropas och refereras till.
Nackdelen är att metoden nyttjar enbart engelska funktioner med kommatecknet som argumentavskiljare samt kan endast användas med US-datum. Därtill krävs att vi på förhands vet hur stora cellområdena är såvida inte dynamiska namn används.
För att få till fungerande lösningar behöver vi förstå skillnaden mellan numeriska (tal) och alfanumeriska värden (text). För alfanumeriska uttryck måste vi använda oss av följande struktur: ""uttryck"" men ingenting för numeriska värden.
Det gör i sin tur att formlerna för metoden kan bli både långa och svårtydda.
Följande förutsättningar gäller för exemplet ifråga:
- Vi vill leta upp värden i flera identiska tabeller och ange dessa i målfilens arbetsblad.
- Vi har 3 st källfiler i en mapp och varje fil innehåller ett arbetsblad med namnet Blad1.
- I respektive arbetsblad finns namn på avdelningar i A-kolumnen samt deras värden i B-kolumnen.
- Följande bild visar hur bladet i målfilen ser ut:
Om ett felmeddelande erhålls vid kopiering till VBA-modul så läs mer här»