webForumDet fria alternativet

Hjälp med BeforeClose i excel

4 svar · 414 visningar · startad av pelk

pelkMedlem sedan juli 2006132 inlägg
#1

Hej, jag söker efter 2 macros som raderar

  1. vissa bestämda celler och sedan avslutar excel
  2. alla olåsta celler
lecxeMedlem sedan okt. 200750 inlägg
#2

Hej!

Eftersom du har BeforeClose som rubrik så antar jag att du vill att makrot ska triggas när användaren väljer att stänga boken. I så fall placerar du följande kod i händelsen BeforeClose under ThisWorkbook:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim r As Range
Dim ws As Worksheet

'För att radera innehåll i bestämda celler (C1:C10):

Worksheets(1).Range("C1:C10").ClearContents

' För att radera innehåll i alla olålsta celler i alla blad i arbetsboken:
For Each ws In Worksheets
    For Each r In ws.UsedRange
        If r.Locked = False Then
            r.ClearContents
        End If
    Next
Next

ActiveWorkbook.Save

End Sub

Det finns mängder av sätt att styra vilka bestämda celler du vill radera. Detta var bara ett exempel. Notera att du måste ha koderna för både radering av bestämda celler och för radering av olåsta celler i samma procedur om du vill trigga på stängning av arbetsboken. Om du vill trigga på något annat, tex en knapp så kan du ju ha separata procedurer för dina händelser.

Hoppas detta hjälper dig en bit på vägen!

/lecxe

pelkMedlem sedan juli 2006132 inlägg
#3

tack för ditt svar:-)

lecxe skrev:

Notera att du måste ha koderna för både radering av bestämda celler och för radering av olåsta celler i samma procedur om du vill trigga på stängning av arbetsboken. Om du vill trigga på något annat, tex en knapp så kan du ju ha separata procedurer för dina händelser.

Hoppas detta hjälper dig en bit på vägen!

/lecxe

hur skulle koden se ut om jag vill trigga på
a)stängnng via krysset?
b)stängning via arkiv/avsluta

colioneMedlem sedan juni 20014 421 inlägg
#4

På samma sätt. Den triggar på när boken stängs.

lecxeMedlem sedan okt. 200750 inlägg
#5

hur skulle koden se ut om jag vill trigga på
a)stängnng via krysset?
b)stängning via arkiv/avsluta

Det är koden jag angav ovan på båda frågorna.

Vad jag menade var att du tex kan ha en knapp i kalkylbladet som raderar bestämda celler och avslutar när användaren trycker på knappen. Sedan kan du ha en annan knapp för radering av olåsta celler och sedan avslut. Man kan i det upplägget alltså välja vilken av procedurerna man vill köra.

/lecxe

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)