23. november 2001 - 10:50Der er
28 kommentarer og 1 løsning
Excel: Indsæt et regneark i bunden et ark
Jeg har flere regneark med varenumre og priser, som jeg gerne vil samle til et regneark - uden at anvende udklipsholderen - på samme måde som i Word, hvor man kan indsætte en fil i slutningen af et dokument. Jeg håber I har nogen forslag.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
1. Åben begge regneark. 2. Højreklik på fanebladet på det ark, som du gerne vil flytte/kopiere til det andet regneark. 3. Vælg Flyt/Kopier 4. I dialogboksen vælger du det andet filnavn, og sætter V for kopier
AMH>> du pleger da altid være god for en kommentar...! Er det da to ark i samme regneark, som du gerne vil samle, og det SKAL gøres pr. makro - eller hvordan ser det ud ?
Synes godt om
Slettet bruger
23. november 2001 - 11:08#4
flemmingwulff: Jeg får ikke mulighed for at vælge andet en billedfiler på denne måde:
flemmingdahl: Det er ikke den måde, som jeg efterlyser. Det jeg mente var, at jeg kun vil have det regneark åbent.
Synes godt om
Slettet bruger
23. november 2001 - 11:12#5
flemmingdahl: mht. kommentar - ja så sidder jeg jo og bliver ældre og dermed langsommere. Det jeg efterlyser er således: Jeg har FIL 1 åben, og i bunden af denne fil vil jeg gerne indsætte FIL 2 + FIL 4 + FIL 7. Da jeg tænker på at stykke en individuel prisliste sammen. \\\\AMH
Man kan jo også gøre det mere besværligt end nødvendigt :-)
Jeg ville lave en makro, som hentede oplysnigerne fra det lukkede ark.
Du kan godt selv :-) Åben begge ark, og lav en formel, som henter data fra det ark, som skal være lukket. Luk det \"lukkede\" ark igen. Start makrobåndoptageren, og tryk F2 Enter på din formel - Stop Lur din formel, og lav noget ForNext eller ForEachNext - kopier alle indsate formler, og indsæt dem som værdier efterfølgende.
Lav et par knapper, som ændre filnavnet på den formel du sætter ind, så det bliver Fil 2 eller Fil 4 .....
Synes godt om
Slettet bruger
23. november 2001 - 11:21#8
Flemming: Jeg er vist ikke så meget inde i VBA i Execl. Jeg vil indsætte en hel FIL, hver gang - 1 varenummer pr. FIL, vil det gøre det nemmere. \\\\AMH
Denne makro henter data i andre filer: Forudsætninger: den fil du har åben skal indeholde et ark der hedder links, hvor kol. a indeholder sti og navn på de filer der skal sættes ind. I B1 skal der stå antallet af filer. Den skal også indeholde et ark der hedder dataliste. (der hvor data skal ind)
Option Base 1 Sub Hent_Data1() Dim Fil(15) DetteArk = ThisWorkbook.Name t = ThisWorkbook.Sheets(\"Links\").[b1].Value For x = 1 To t \'hent filer og dataområder fra sheet4 Fil(x) = ThisWorkbook.Sheets(\"Links\").Range(\"A\" & x).Value Next x FirstTime = True \'første kørsel af loop Application.ScreenUpdating = False \'slå skærmopdatering fra Application.Calculation = xlCalculationManual \'slå automatisk genberegning fra Firstrow = \"2:2\" For x = 1 To t \'åbn de 4 filer en for en i Workbooks.Open FileName:=Fil(x), ReadOnly:=True fname = ActiveWorkbook.Name ActiveWorkbook.Sheets(1).Activate lastrow = Range(\"A65536\").End(xlUp).Row If lastrow < 1 Then GoTo IngenData Range(Firstrow, lastrow & \":\" & lastrow).Copy ThisWorkbook.Sheets(\"Dataliste\").Activate \'skift til denne fil If FirstTime = True Then start = \"$a$2\" Range(start).Activate \'første gang kopieres til a1 FirstTime = False End If Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False \'indsæt værdier slut = Range(\"A65536\").End(xlUp).Offset(1, 0).Address start = slut Range(slut).Select Application.CutCopyMode = False \'slå kopier fra IngenData: Workbooks(fname).Close SaveChanges:=False \'luk aktuel fil Next x \'fat næste fil
Application.Calculation = xlAutomatic \'slå automatisk beregning til igen Application.ScreenUpdating = True \'slå skærmopdatering til igen End Sub
Jeg har læst det som at AMH ikke selv ville sidde og åbne.
Synes godt om
Slettet bruger
23. november 2001 - 13:20#18
bak: det er ikke altid de samme ark, som skal indsætte i det åbne ark. Jeg forestiller mig, at hver ark er lig med et varenummer. I det åbne ark, indsættes forskellige varenumre (ark) alt efter hvad det er, som kunden skal have en prisliste på.
Synes godt om
Slettet bruger
23. november 2001 - 13:22#19
jeg har ikke brug for at åbne det ark som skal indsættes, da jeg i forvejen ved hvad det indeholder pga. arket er lig med et varenummer
Har du ikke mulighed for at strukturere dine data anderledes? F.eks. kunne du have én stor database med varenumre/priser. Denne database skulle indeholde et felt, som beskriver hvilke kunder der skal have hvilke varer med på deres prisliste.
På denne måde ville det være nemmere at vedligeholde din prisliste (fordi den kun ligger ét sted) og samtidig ville det være nemt at lave en søgning i databasen ud fra kundenummeret, hvor man så kun ville få de kundespecifikke varer med på listen.
Samme princip har jeg før brugt i en kassebog, hvor man har en lang række posteringer på forskellige konti. Når man så skal lave et kontoudtog på en specifik konto, oprettes et ark med kun de posteringer(rækker), som f.eks. indeholder kontonummer 4320.
Synes godt om
Slettet bruger
26. november 2001 - 09:30#27
jan>> MEN så er det store spørgmål, hvad sker der, når/hvis en vare slettes eller ændres - så forsvinder historikken - og det er ikke hensigtsmæssigt da der er tale om tilbud, som måske skal tages frem igen på et senere tidspunkt.
Denne kode placeres i arket eget modul. Filstien som skal bruges placeres i M2. En ændring i kol. A vil få makroen til at slå op i det regneark der skrives i kolonnen, kopiere indholdet af de specifikke celler og indsætte dem som værdier, således at der er historik.
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rcolumn As Range Set rcolumn = Range(\"A:A\") If IsEmpty(Target.Value) Then Exit Sub If IsArray(Target.Value) Then Exit Sub If Not Intersect(Target, rcolumn) Is Nothing Then Filnavn = Target.Value & \".xls\" sti = [m2] arknavn = \"Ark1\" celle = Array(\"A5\", \"B5\", \"C5\", \"D5\") \' celler at kigge på i andet ark
For x = 0 To UBound(celle) Target.Offset(rowOffset:=0, columnOffset:=x + 1) = \"=\'\" & sti & \"\\[\" & Filnavn & \"]\" & arknavn & \"\'!\" & celle(x) Next x Range(Target.Offset(0, 1), Target.Offset(0, 6)).Copy \' kan udvides eller indskrænkes Target.Offset(0, 1).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False End If End Sub
Synes godt om
Slettet bruger
26. november 2001 - 09:50#29
Tak for indsatsen. For god ordens skyld vil jeg lige gøre opmærksom på, at min e-mail adresse ikke kan bruges efter den 28. november 2001. \\\\AMH
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.