Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VBA: Fjerne arkbeskyttelse og slå den til igen i eksisterende kode

79 views
Skip to first unread message

Morten

unread,
Oct 13, 2010, 2:57:44 PM10/13/10
to
Hej Alle!

Jeg har en eksisterende VBA kode. Den flytter indholdet x antal rækker
ned, og kopierer nyt indhold ind på dets plads samt definerer
udskriftsområdet.

Mit problem er, at jeg har behov for at beskytte arket (uden kode) men
min makro vil ikke fungere, fordi indholdet der flyttes rundt er låst/
beskyttet. Mit problem vil blive løst hvis jeg kan få indskrevet i min
VBA kode, at arkbeskyttelsen skal fjernes - den nuværende kode skal
eksekveres - og arkbeskyttelsen skal slås til igen.

Derfor - er der en venlig sjæl, der kan skrive det ind i den
eksisterende kode? Eksisterende kode er:

Private Sub CommandButton2_Click()
'
' afslut_ordre Makro
' Makro indspillet 29-09-2010 af Morten
'

'
Range("A16:I49").Select
Selection.Insert Shift:=xlDown
Range("M17:U49").Select
Selection.Copy
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A17").Select
ActiveSheet.Paste
Range("E53").Select
ActiveWindow.View = xlPageBreakPreview
ActiveWindow.SmallScroll Down:=15
Application.CutCopyMode = False
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$49"
ActiveWindow.SmallScroll Down:=-36
ActiveWindow.View = xlNormalView
End Sub

På forhånd tak.

Mvh
Morten H.

Allan

unread,
Oct 13, 2010, 4:04:36 PM10/13/10
to

Hej Morten,

N�r du ikke �nsker at bruge kode, er jobbet s�m�nd ikke s� slemt.

Inds�t i starten af din kode:
ActiveSheet.UnProtect

Og i slutningen:
ActiveSheet.Protect

Jeg har trimmet din kode lidt og sat de 2 linjer ind.

Venlig hilsen

Allan
http://forum.excel-regneark.dk
www.excel-regneark.dk

Private Sub CommandButton2_Click()

' afslut_ordre Makro
' Makro indspillet 29-09-2010 af Morten

ActiveSheet.Unprotect


Range("A16:I49").Select
Selection.Insert Shift:=xlDown

Range("M17:U49").Copy


Range("A17").Select
ActiveSheet.Paste
Range("E53").Select

Application.CutCopyMode = False
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$49"

ActiveSheet.Protect
End Sub

Jan Kronsell

unread,
Oct 13, 2010, 4:07:56 PM10/13/10
to

"Morten" <ola...@hotmail.com> skrev i meddelelsen
news:df42f91f-bffd-4037...@e14g2000yqe.googlegroups.com...
> Hej Alle!
>
> Jeg har en eksisterende VBA kode. Den flytter indholdet x antal r�kker
> ned, og kopierer nyt indhold ind p� dets plads samt definerer
> udskriftsomr�det.


>
> Mit problem er, at jeg har behov for at beskytte arket (uden kode) men

> min makro vil ikke fungere, fordi indholdet der flyttes rundt er l�st/
> beskyttet. Mit problem vil blive l�st hvis jeg kan f� indskrevet i min
> VBA kode, at arkbeskyttelsen skal fjernes - den nuv�rende kode skal
> eksekveres - og arkbeskyttelsen skal sl�s til igen.
>
> Derfor - er der en venlig sj�l, der kan skrive det ind i den


> eksisterende kode? Eksisterende kode er:
>
> Private Sub CommandButton2_Click()
> '
> ' afslut_ordre Makro
> ' Makro indspillet 29-09-2010 af Morten
> '

ActiveSheet.Unprotect

ActiveSheet.Protect

> End Sub
>
Jan

Morten

unread,
Oct 13, 2010, 4:19:19 PM10/13/10
to
Tak begge to! Jeg lærer noget hver gang jeg poster herinde. Det er
fedt!

Må jeg tillade mig at poste en ny problemstilling? Jeg har 3 kolonner
hvor jeg benytter sumfunktionen til at opsætte 2 kriterier for
summering i kolonne 3.

Problemet er blot, at der i kolonne 3 er både tekst og tal. Det er
naturligvis kun tallene, der skal summeres, men når tekst indgår, får
jeg fejlen #VÆRDI!. Formlen er som følger:

=SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:$B
$50000=A6)*(Faktura!$C$1:$C$50000))

Hvordan håndterer jeg tekst i et område, der benyttes til beregning?
Har søgt men kan ikke finde en problemstilling der ligner.

Mvh

Morten H.

Jan Kronsell

unread,
Oct 13, 2010, 5:35:58 PM10/13/10
to

"Morten" <ola...@hotmail.com> skrev i meddelelsen

news:02aea3b8-d841-4592...@k10g2000yqa.googlegroups.com...
> Tak begge to! Jeg l�rer noget hver gang jeg poster herinde. Det er
> fedt!
>
> M� jeg tillade mig at poste en ny problemstilling? Jeg har 3 kolonner
> hvor jeg benytter sumfunktionen til at ops�tte 2 kriterier for
> summering i kolonne 3.
>
> Problemet er blot, at der i kolonne 3 er b�de tekst og tal. Det er
> naturligvis kun tallene, der skal summeres, men n�r tekst indg�r, f�r
> jeg fejlen #V�RDI!. Formlen er som f�lger:


>
> =SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:$B
> $50000=A6)*(Faktura!$C$1:$C$50000))
>

> Hvordan h�ndterer jeg tekst i et omr�de, der benyttes til beregning?
> Har s�gt men kan ikke finde en problemstilling der ligner.
>
Pr�v med

=SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:B$50000=A6)*(HVIS(ER.TAL(Faktura!$C$1:$C$50000);$C$1:$C$50000)))

Indtast som matrixformel, dvs. afslut med Ctrl+Skift+Enter.

Jan

Morten

unread,
Oct 13, 2010, 6:22:24 PM10/13/10
to
On 13 Okt., 23:35, "Jan Kronsell" <nos...@nospam.dk> wrote:
> "Morten" <ola...@hotmail.com> skrev i meddelelsennews:02aea3b8-d841-4592...@k10g2000yqa.googlegroups.com...
>
>
>
> > Tak begge to! Jeg lærer noget hver gang jeg poster herinde. Det er
> > fedt!
>
> > Må jeg tillade mig at poste en ny problemstilling? Jeg har 3 kolonner
> > hvor jeg benytter sumfunktionen til at opsætte 2 kriterier for
> > summering i kolonne 3.
>

> > Problemet er blot, at der i kolonne 3 er både tekst og tal. Det er
> > naturligvis kun tallene, der skal summeres, men når tekst indgår, får
> > jeg fejlen #VÆRDI!. Formlen er som følger:
>
> > =SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:$B
> > $50000=A6)*(Faktura!$C$1:$C$50000))
>
> > Hvordan håndterer jeg tekst i et område, der benyttes til beregning?
> > Har søgt men kan ikke finde en problemstilling der ligner.
>
> Prøv med
>
> =SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:B$50000=A6)*(HVIS(ER.TA L(Faktura!$C$1:$C$50000);$C$1:$C$50000)))

>
> Indtast som matrixformel, dvs. afslut med Ctrl+Skift+Enter.
>
> Jan

Godaften Jan!

Den virker - når blot jeg husker at angive faktura i den sidste del af
formlen. Altså

=SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:B
$50000=A6)*(HVIS(ER.TA L(Faktura!$C$1:$C$50000);FAKTURA!$C$1:$C
$50000)))

Tak for din løsning!

Jeg har i øvrigt kigget på din hjemmeside. Der er en masse gode tips
og tricks.

Mvh
Morten H.

Jan Kronsell

unread,
Oct 14, 2010, 3:13:53 PM10/14/10
to

"Morten" <ola...@hotmail.com> skrev i meddelelsen

news:2d61f943-5eaa-44ba...@p26g2000yqb.googlegroups.com...


> On 13 Okt., 23:35, "Jan Kronsell" <nos...@nospam.dk> wrote:
>> "Morten" <ola...@hotmail.com> skrev i
>> meddelelsennews:02aea3b8-d841-4592...@k10g2000yqa.googlegroups.com...
>>
>>
>>

>> > Tak begge to! Jeg l�rer noget hver gang jeg poster herinde. Det er
>> > fedt!
>>
>> > M� jeg tillade mig at poste en ny problemstilling? Jeg har 3 kolonner
>> > hvor jeg benytter sumfunktionen til at ops�tte 2 kriterier for
>> > summering i kolonne 3.
>>


>> > Problemet er blot, at der i kolonne 3 er b�de tekst og tal. Det er
>> > naturligvis kun tallene, der skal summeres, men n�r tekst indg�r, f�r
>> > jeg fejlen #V�RDI!. Formlen er som f�lger:
>>

>> > =SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:$B
>> > $50000=A6)*(Faktura!$C$1:$C$50000))
>>

>> > Hvordan h�ndterer jeg tekst i et omr�de, der benyttes til beregning?
>> > Har s�gt men kan ikke finde en problemstilling der ligner.
>>
>> Pr�v med


>>
>> =SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:B$50000=A6)*(HVIS(ER.TA
>> L(Faktura!$C$1:$C$50000);$C$1:$C$50000)))
>>
>> Indtast som matrixformel, dvs. afslut med Ctrl+Skift+Enter.
>>
>> Jan
>
> Godaften Jan!
>

> Den virker - n�r blot jeg husker at angive faktura i den sidste del af
> formlen. Alts�


>
> =SUMPRODUKT((Faktura!$A$1:$A$50000=1)*(Faktura!$B$1:B
> $50000=A6)*(HVIS(ER.TA L(Faktura!$C$1:$C$50000);FAKTURA!$C$1:$C
> $50000)))
>

> Tak for din l�sning!
>
> Jeg har i �vrigt kigget p� din hjemmeside. Der er en masse gode tips
> og tricks.
>
Tak og velbekomme :-)

Jan

0 new messages