24. august 2000 - 15:57Der er
7 kommentarer og 2 løsninger
sammenkædning / import
Jeg har eks. 2 forskellige XLS regneark der skal sammenkædes i 1 Access tabel, dog således at placeringen bibeholdes i forhold til XLS.
Eks.
1.XLS,felt A1 = 3000 2.XLS,felt C4 = 5000
Ved import eller sammenkædning skal min \"TABLE1\" nu indeholde disse værdier i deres respektive XLS placering. Altså 3000 skal stå i kolonne 1, felt 1 og 5000 skal stå i kolonne 3 felt 4.
Kan dette lade sig gøre uden VB... jeg kender udtryksgenerator vældig godt såfremt det hjælper jer....
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
der vil aldrig forekomme data i de samme felter i xls arkene... nu sagde jeg at jeg havde 2 stk dette var kun for at gøre en løsningsproces lettere.... Jeg har sammenlagt ca. 80 ark med data i. Hvis jeg dog havde løsningen på 2 xls ark kunne jeg nok finde ud af resten ( kopiere en evt formel ).
Hele processen beror på oplysniger som sendes til mig fra div. leverandører og som skal visualizeres i et samlet ark. Jeg har såfremt dette ikke lader sig gøre tænkt mig at tildele hver leverandør et ID som så skal medsendes fra den enkelte leverandør for at kunne placere dise i en formular via DLOOKUP funktionen. Det kan godt være denne løsningsmetode gør det lettere at \"samle dataene \"..jeg ved det ikke...!!!!!
Samling af alle data i eet regneark er stadig en mulig løsning. Følgende kode kan gøre dette:
Kopier den til et nyt modul et regnark
Sub OpretSamleark() Dim Regneark As Range, AlleRegneark As Range Dim ws As Worksheet
Set AlleRegneark = ActiveCell.CurrentRegion Set ws = ThisWorkbook.Sheets.Add Application.DisplayAlerts = False For Each Regneark In AlleRegneark Workbooks.Open Regneark.Text
ActiveSheet.Range(\"A1:G100\").Copy ws.Range(\"a1\").PasteSpecial SkipBlanks:=True ActiveWorkbook.Close False Next Regneark Application.DisplayAlerts = True End Sub
Indtast navnene på regnearkene i en kolonne ( De skal være i samme dir som det aktuelle regneark eller også skal man skrive den fulde sti) og placer curseren på et af navnene(CurrentRegion udvider til hele området)
Køre herefter makroen.
Der oprettes en ny side i det aktuelle regneark med data fra området A1:G100 fra alle de listede ark. eventuelle data i samme celler vil blive overskrevet af det sidst kopierede.
Det kan sikkert også laves fra Access siden af, specielt hvis det er 2000 udgaven du bruger.
Nu har jeg oprettet de 2 tidligere omtalte xls ark ( 1 og 2 ).
Jeg har i samme bibliotek oprettet et tredje ark der hedder samlet.xls, hvori jeg har skrevet VB koden i en macro. Når jeg kører denne macro sker der flg. msgbox :
runtime error \'1004\': \" could not be found. check the spelling of the filename, and verifi that the file location is correct.
if you are trying to open a file from your list of most recently used files on the file menu, make sure the file has not been renamed, moved or deleted.
man kan nu trykke end eller debug. Ved debug vises der en fejl i VB koden i lfg. linie :
Workbooks.Open Regneark.Text
Jeg synes det bliver lidt kompliceret da jeg som nævnt ikke er god i VB og en evt. ændring i fremtiden på en leverandør vil skabe forvirring for mig( tror jeg nok..!!)
Det jeg også kom i tanke om var at men jo for hver leverandør kunne lave et ydeligere ark i den enkelte projektmappe der så hed det samme for hver leverandør. ( eks NT )
I dette ark lavede man sit ID i kolonne A og i kolone B lavede man en link til den specificerede værdi i hovedarket man ønskede. Ved import eller sammenkædning i Access ville alle oplysninger nu stå i det ark der hedder NT og man behøvede kun at importere dette ark. Hvis man så lavede en UNION-forespørgsel ville samtlige værdier vaære listet med deres respektive ID.
Nerøs >>
Du må derfor ike bruge for meget krudt på at for din VB kode til at virke og du skal nok få nogle point for din entusiasme....
Jeg har det bare personligt bedre med at lade access udføre opgaven for ikke at 2 \"blande\" for mange koder og macroer mm. i flere forskellige programmer og ark. Fejlfinding vil da være forvirrende af første grad.!!!!!
Hvordan lyder dette i dine ører...og hvor mange point synes du selv at du skal have..??
OK region held og lykke med projektet. Koden jeg sendte indeholder ganske rigtigt en fejl:
Jeg troede at programmet først ville lede det åbne regnearks mappe, men det gør det ikke.. Hvis du indsætter: Workbooks.Open ThisWorkbook.Path & \"\\\" & Regneark.Text i stedet for \"Workbooks.Open Regneark.Text\" tror jeg at koden virker.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.