29. maj 2002 - 12:18Der er
10 kommentarer og 1 løsning
Kopier til nyt regneark
Hej,
Er der nogen som kan fortælle mig, hvordan jeg opretter en macro, som gemmer info fra nogen celler i det aktive regneark i et andet regneark, som brugeren ikke kan se.
Kan du ikke bare oprette et andet ark, der har links til de celler du ønsker at se og derefter gemme det. Det nye ark vil så indeholde data fra de celler du ønsker at se, men brugers kan jo ikke se at der i det andet ark er links til hans regneark.
Nej, problemet er at man ved hjælp af en knap i det aktive regneark, kan gemme resultatet af sine indtastninger. Dette resultat skal så gemmes i et andet regneark, som brugeren ikke ser - altså en form for database regneark.
Sandt nok, men i så fald vil de jo ændre sig når nye input indtastes i regnearket. Jeg har lavet en makro som indsætter resultatet i et andet sheet i de samme regneark som værdier. Men er der ikke mulighed for at overføre disse værdier til et helt nyt regneark?
Jo, selvfølgelig er det muligt, men inden man laver en makro er det jo altid en god ide at teste excel's normale muligheder. Prøv også lige at se på Delt Mappe, der kan man nemlig også gemme historik.
Jeg har lavet denne macro, som kopier info fra et ark til næste ledige række i et andet ark. Jeg ønsker denne funktionalitet men blot i et andet regneark (ikke et sheet i samme regneark). Evt. kan jeg nøjes med at brugeren ikke ser sheet 1 - men hvis jeg skjuler det virker macroen ikke.
Sub Medtag()
Sheets("Opslag").Select
Range("B42:p42").Select Selection.Copy
Sheets("Sheet1").Select 'Find næste tomme række
række = 0
Do række = række + 1 Loop Until (Cells(række, 1) = "")
Sub HiddenExcel() Dim xlApp As Excel.Application Dim wkbNewBook As Excel.Workbook Dim wksSheet As Excel.Worksheet Dim strBookName, SkjultFil As String SkjultFil = "C:\SkjultFil.xls" ActiveWorkbook.ActiveSheet.Range("B2:P42").Copy Set xlApp = New Excel.Application Set wkbNewBook = Workbooks.Open(SkjultFil) With wkbNewBook Do række = række + 1 Loop Until (Cells(række, 1) = "") .Sheets(1).Range(Cells(række, 1)).PasteSpecial Paste:=xlPasteValues .Close SaveChanges:=True End With Set wkbNewBook = Nothing xlApp.Quit Set xlApp = Nothing End Sub
Du kan bruge denne her istedet for. Lav filen c:\skjultfil.xls, gå op i Vinduer og Skjul filen. afslut så excel og når den spørger om den skal gemme den skjulte fil svarer du ja. Du har nu en fil, der når den åbnes, ikke vises. I originalfilen går du i VBA til ThisworkBook og indsætter denne makro. Når brugeren gemmer åbnes den skjulte fil, indholdet af originalfilens område (B2:P42) kopieres over og den skjulte fil gemmes og lukkes.
Sub workbook_beforesave() Application.ScreenUpdating = False Set krange = Range("B2:P44") krange.Copy x = Workbooks.Open("C:\Skjultfil.xls").Name Workbooks(x).Activate Range("A65536").End(xlUp).Offset(1, 0).Select Selection.PasteSpecial Paste:=xlValues Windows(x).Visible = False Workbooks(x).Save Workbooks(x).Close Application.ScreenUpdating = True End Sub
Mange tak for hjælpen bak - undskyld den sene point givning....
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.