05. november 2003 - 14:45Der er
13 kommentarer og 1 løsning
Hente data i en anden projektmappe
1)Kalkulation åbnes fra skabelon 2)Kartotek Jeg kunne godt tænke mig at stå i kalkultionen og hente data i kartoteket. Når jeg har tastet et firmanavn i kalkulationen felt D1, skal den finde fanen i Kartoteket og returnere: Fra Kartotek B3 til Kalkulation D1 Fra Kartotek B4 til Kalkulation D2 Fra Kartotek B7 til Kalkulation E6 Osv. Kan det lade sig gøre?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg havde forestillet mig lidt mere automatisk. Ved at den selv sætter ind i de respektive felter, ved at sammenligne Kalkulation D1 med fanerne i kartotek, når den har fundet den rigtige fane(samme navn som Kalkulation D1), skal den automatisk indsætte felter fra Kartotek over i kalkulation. Fra Kartotek B3 til Kalkulation D1 Fra Kartotek B4 til Kalkulation D2 Fra Kartotek B7 til Kalkulation E6 Osv.
Du kan måske bruge funktionen indirekte. Som Stewen skriver skal filen kartotek være åben. Skriv dette i fx. D2, hvis du vil slå op på det faneblad der er skrevet i D1.
=INDIREKTE("[Kartotek.xls]" & D1 & "!$B$3")
bemærk at man ikke med en formel kan overskrive det der allerede står i en celle. (du skriver: Når jeg har tastet et firmanavn i kalkulationen felt D1, skal den finde fanen i Kartoteket og returnere: Fra Kartotek B3 til Kalkulation D1) Skal du gøre det skal du bruge en makro.
Kan man ved hjælp af vba(evt. en knap): Læse i kalkulation D1(F.eks "Jensen Auto"), åbne Kartotek som skrivebeskyttet, finde fanen med "Jensen Auto") læse felt B3,B4,B5 og indsætte i kalkulation D2,D3,E6 osv. ("Jensen Auto" står i samme felt i Kartoteket i alle fanerne, så der kan man også sammenligne kalkulation med Kartotek, hvis det er til nogen nytte).
Hvis du opretter 2 mapper (kalkultion og kartotek) og i kolonne A i (kartotek) skriver Jensens auto i A1 samt noget andet i b1-f1 Hansens auto i A2 samt noget andet i b2-f2 med videre......... Hvis du så hvilken celle du vil i (kalkultion) Hansens auto og køre makroen, så henter den i (det tilfælle) A2-F2 '***************************************** Sub hent() Dim X As Variant X = ActiveCell Sheets("kartotek").Select 'Er navnet på det Ark hvor Data hentes Range("A1").Select Do While ActiveCell <> X If ActiveCell = "" Then MsgBox "Nummeret findes ikke" Sheets("kalkultion").Select GoTo Slut End If ActiveCell.Offset(1, 0).Select Loop ActiveCell.Range("A1:F1").Select Selection.Copy Sheets("kalkultion").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False ActiveCell.Select Slut: End Sub '***************************************** Hvis du vil have at det skal hentes fra en anden fil, kan du rette stien, du kan også kupere fra den anden fil og bruge indsæt kæde i marpen kartotek i den her fil.
Undskyld Hvis du så hvilken celle du vil i (kalkultion) "SKRIVER" Hansens auto og køre makroen, så henter den i (det tilfælle) A2-F2 '*************************' Det er vigtigt at det skrives Hansens auto, ikke hansens auto.
Jeg kan se at vi nærmer os. Problemet er bare i kartoteket har hver kunde sit ark(fane) i kartoteket. Den skal "bare" finde det rigtige ark(fane), derefter er det altid de samme felter den skal returnere fra de respektive faner f.eks B3,B4 og B7.
Jeg kan se at vi nærmer os. Problemet er bare i kartoteket har hver kunde sit ark(fane) i kartoteket. Den skal "bare" finde det rigtige ark(fane), derefter er det altid de samme felter den skal returnere fra de respektive faner f.eks B3,B4 og B7. Har I stadig mod på at løse problemet?
Koden er her, du skal skrive arkets navn i celle IV1 i hver ark, den FØRSTE ark skal hede Jensens auto (du kan rette det i koden) der skal være et tomt ark til sidst.
Sub hent2() Application.ScreenUpdating = False Dim X As Variant X = ActiveCell Windows("kartotek.xls").Activate Sheets("Jensens auto").Select ' Navnet på det første ark Do While [IV1] <> X'Navnet på arket skal skrives her (IV1) If [IV1] = "" Then' I det tomme ark skal IV1 være tomt MsgBox "Kunden findes ikke" Windows("kalkulation.xls").Activate GoTo Slut End If ActiveSheet.Next.Select Loop Range("B3").Select Selection.Copy Windows("kalkulation.xls").Activate Range("D1").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False '********************************** Windows("kartotek.xls").Activate Range("B4").Select Selection.Copy Windows("kalkulation.xls").Activate Range("D2").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False '*********************************** Windows("kartotek.xls").Activate Range("B7").Select Selection.Copy Windows("kalkulation.xls").Activate Range("E6").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Slut: End Sub
Jeg har ikke kunne få brugbar løsning på problemet, og lukker spørgsmålet.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.