Avatar billede Peter Praktikant
13. november 2003 - 15:37 Der er 19 kommentarer og
1 løsning

Blandede excel spg. om godkendelse af makro, indtastning og gem.

Hej
Jeg sidder med et regneark og har en række spørgsmål:

Regnearket skal bruges af andre end mig, de skal bruge det som et opslagsværk. Derfor er regnearket skrivebeskyttet. Når man lukker Excel spørger den alligevel om man vil gemme arket, kan man blive fri for det. Altså brugeren skal have mulighed for at gemme arket under andet navn, men han skal ikke promptes når han lukker regnearket.

Jeg skal indtaste en stor tabel med 8 gange ca. 2000 indgange. For nogle af søjlerne skal der lægges en værdi til, f.eks skal der ligges 50 til alle indtastninger i søjle 3 og 0,50 til indtastninger i søjle 4-7. Jeg kan jo lave 2 tabeller ved siden af hinanden, den jeg indtaster i og resultattabellen, men er der ikke en smarere måde at gøre det. Jeg tænker især på at tabellen jo fylder en del kB, så med dobbelt data vil det jo fylde endnu mere.
Hvis der skal laves 2 tabeller, så kan det jo selvfølgeligt snildt laves med K4=C3+50 og sådan, men så vil man jo være tvunget til at kopiere den formel rundt til alle felter i søjlen da jeg ikke ved præcist hvor mange indgange der bliver i søjlen.
Hvordan kan man lettest indtaste en tabel og så have en modificeret tabel at beregne på? Det er samme værdi der skal ligges til i hver celle i hele søjlen.

Som sagt er det ikke mig der skal bruge arket som indeholder makroer. Et problem med makroerne er, at de hver gang de åbner arket skal vælge om de vil åbne med eller uden makroer. Makroerne skal være der for at arket virker. Så hvordan kan man gøre det sådan at de kun skal godkende makroerne en gang uden at stille på deres sikkerhedsniveau? Jeg har bestilt en digital signatur hos TDC, vil jeg kunne godkende makroerne med min nøgle og give dem den offentlige hvorefter de så kan godkende makroerne en gang for alle?
Hvordan sørger jeg for at de ikke hver gang skal vælge om de vil åbne arket med makroer?

3 spørgsmål, 25 point for hver.
Avatar billede janvogt Praktikant
13. november 2003 - 16:04 #1
Avatar billede janvogt Praktikant
13. november 2003 - 16:07 #2
Spm. 2
Du skriver f.eks. "50" i en celle et eller andet sted på arket.
Så markerer du cellen og trykker "Kopier".
Derefter markerer du det område du ønsker at lægge 50 til, højreklikker et sted i området og vælger "Indsæt speciel".
Her skal du så vælge "Addition" i bunden og trykke "OK".
Avatar billede bak Forsker
13. november 2003 - 16:29 #3
3.
Test lige det her.
Find det program (under office) der hedder selfcert.exe og kør det.
Det opretter en digital signatur.
I Excel under VBA TOOLS vælger du Digital Signature og signerer dit projekt med din nye signatur.
Gem og luk.
Når du sender det til andre skal de første gang de åbner svare ja til makroer og til altid at have tillid til dig (flueben i "Trusted source").

herefter er der ikke noget problem at åbne med makroer automatisk
Avatar billede Peter Praktikant
13. november 2003 - 16:45 #4
janvogt > spm 1. Hvis det indsættes i kodearket til sheet1, vil det så gælde for kun det pågældende ark eller vil det være alle åbne ark?
spm 2. Hvis jeg gør det sådan, vil jeg så ikke få problemer når jeg opdaterer celler rundt omkring i arket? Jeg skal gerne have en mere automatisk løsning som ligger værdien for den pågældende søjle til hver gang jeg ændrer en værdi så alle værdier i tabellen altid vil have værdi: oprindeligt indtastet+fast værdi.

3. Det vil jeg prøve at gøre.
Avatar billede Peter Praktikant
13. november 2003 - 23:51 #5
Lige et spørgsmål mere, når jeg protecter arket med vb, hvordan kan jeg så gøre sådan at man godt kan slette en row. Hvis man protecter manuelt kan man jo bare vælge det med flueben, men hvad er kommandoen i vb?
Jeg har søgt på nettet uden held, er der en god side hvor man kan se de forskellige vb kommandoer med options?
Avatar billede Peter Praktikant
14. november 2003 - 00:05 #6
janvogt > Spm 1.: Jeg kan ikke rigtigt få det til at virke, filen er skrivebeskyttet, så hvis jeg bruger den metode som du angiver, så vil den vel komme med en dialogboks om at gemme filen som en kopi?
Jeg har tænkt på om den smarteste løsning vil være at lave en knap til at køre kommandoen:
ActiveWorkbook.Close False
Eller kan man godt løse det ved at lade brugeren lukke mappen uden at der gemmes selvom der er ændringer?
Avatar billede Peter Praktikant
14. november 2003 - 12:14 #7
janvogt >> Jeg ved ikke om det er mig der er lidt tung (højst sandsynligt), men jeg kan ikke rigtigt se hvordan Application.DisplayAlerts = False skulle løse problemet med, at når brugeren lukker arket eller excel, så får han ikke nogen alert frem om han vil gemme.
Løsningen jeg selv foreslog, ActiveWorkbook.Close False, kan heller ikke rigtigt bruges, for den lukker jo kun arket og ikke Excel.

Bak > Af en eller anden grund har jeg ikke selfcert.exe og kan ikke lige finde min Office cd-rom. Men jeg har fået min digitale signatur fra TDC i dag, den virker perfekt. Så det problem er da løst.
Avatar billede janvogt Praktikant
14. november 2003 - 12:31 #8
Måske kan du bruge denne kode og lægge den i Workbook_BeforeClose hændelsen

ThisWorkbook.Saved = True
Avatar billede janvogt Praktikant
14. november 2003 - 12:37 #9
Omkring spm. 2, så kan jeg ikke helt følge dig.
Umiddelbart tror jeg nok min metode med at "kopiere" f.eks. 50 til samtlige celler kan bruges, ellers må jeg have misforstået noget.
Det er klart, at står der "5" i en celle og du så lægger 40 til så der står 45, ja så er det de 45 du bruger, hvis du regner videre med cellen.
Avatar billede Peter Praktikant
14. november 2003 - 12:47 #10
Jeg har forsøgt at tilføje dette i kodearket:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ThisWorkbook.Saved = True
End Sub
Men det virker ikke rigtigt, gør jeg noget forkert?
Avatar billede Peter Praktikant
14. november 2003 - 12:49 #11
Spm. 2 > Problemet er, at jeg har en oprindelig tabel som jeg opdaterer i og en tabel jeg regner ud fra. Derfor vil jeg gerne beholde den oprindelige tabel, sådan at når jeg skal opdatere at jeg så ikke behøver tænke på at der er lagt 50 til.
Som det er nu har jeg 2 tabeller, en original som svarer til mine data og en der hedder =A2+50 og så videre derudaf. På den måde ligger data jo 2 gange og fylder dobbelt så meget.
Avatar billede janvogt Praktikant
14. november 2003 - 12:52 #12
Har du lagt koden i "Workbook"?
Avatar billede Peter Praktikant
14. november 2003 - 12:56 #13
Hvordan ligger jeg koden i workbook? Jeg har lagt den under general ved at højreklikke på sheet og vælge kode.
Avatar billede janvogt Praktikant
14. november 2003 - 12:59 #14
Hvis du ønsker at bevare den oprindelige tabel, bliver du vel alligevel nødt til at have 2 versioner liggende.

Nu ved jeg ikke, hvordan din oprindelige tabel bliver opdateret, men bliver den ikke bare overskrevet?
Avatar billede Peter Praktikant
14. november 2003 - 13:03 #15
Den bliver opdateret ved at jeg sidder og ændrer værdierne manuelt. Ok, men så må det problem jo være løst på bedst mulige måde.

Så er det kun problemet med at lukke arket uden at blive promptet om man vil gemme.
Avatar billede janvogt Praktikant
14. november 2003 - 13:04 #16
Tryk ALT+F11 for at komme ind i VBA-editoren.
I projektoversigten til venstre skal du vælge "ThisWorkbook".
Til højre skal du nu på den første rulleliste vælge "Workbook"
På den anden rulleliste skal du vælge "BeforeClose".
Kopier koden og sæt den ind mellem
Private Sub Workbook_BeforeClose(Cancel As Boolean) og End Sub.

Hvis din kode ligger der allerede, har du gjort det rigtigt.
Avatar billede Peter Praktikant
14. november 2003 - 13:11 #17
jeg havde gjort det forkert, men nu virker det, så det er bare super.
Tak for hjælpen janvogt og bak.
Avatar billede Peter Praktikant
14. november 2003 - 13:12 #18
men i mellemtiden er der kommet et nyt problem, håber nogle kan hjælpe mig med det, laver lige et nyt spørgsmål.
Avatar billede janvogt Praktikant
14. november 2003 - 13:17 #19
Velbekomme :-)
Så må vi jo løse dit næste spørgsmål også .... :-)
Avatar billede Peter Praktikant
14. november 2003 - 13:17 #20
Du får lige et link:
http://www.eksperten.dk/spm/427467
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester