Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[VBA / Excel 1997] Knippen en regels verwijderen tegenhouden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben niet zo'n ervaren poster (in het geheel niet zelfs) maar loop tegen het volgende probleem aan in Excel:

In een bestand wat wordt gebruikt door een aantal minder ervaren gebruikers wil ik de mogelijkheid om cellen te knippen of regels te verwijderen blokkeren. De reden is dat er functies zijn in verborgen bladen die verwijzen naar het invoer deel van de sheet, en die gaan kapot door bovengenoemde acties (#VERW, je kent 't wel). Gebruikers moeten echter wel de mogelijkheid houden om simpelweg data in te kunnen voeren.

Ik heb in VBA help gekeken naar mogelijheden om dit te bewerkstelligen, maar kom er niet uit, ook op dit forum kwam ik niet veel verder, er is wel een topic aan gewijd, maar dat heeft betrekking op MS Access.

Als jullie me een beetje op weg zouden kunnen helpen, zou ik dit zeer waarderen.

  • SierdW
  • Registratie: April 2004
  • Laatst online: 23-09 12:48
Zoiets? Verder zou je nog kunnen kijken in Excel onder Extra > Beveiliging > Blad beveiligen. Of begrijp ik niet goed wat je bedoelt?

Verwijderd

Topicstarter
Helaas, van mijn baas mag ik maar naar een beperkt aantal sites, dus ik kan je link niet volgen :(

Beveiligen van de cellen is geen optie, want dan kan er ook geen data meer ingevoerd worden.

  • SierdW
  • Registratie: April 2004
  • Laatst online: 23-09 12:48
Even copy/paste van de betreffende site:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
'*** In a standard module ***
Option Explicit 
 
Sub ToggleCutCopyAndPaste(Allow As Boolean) 
     'Activate/deactivate cut, copy, paste and pastespecial menu items
    Call EnableMenuItem(21, Allow) ' cut
    Call EnableMenuItem(19, Allow) ' copy
    Call EnableMenuItem(22, Allow) ' paste
    Call EnableMenuItem(755, Allow) ' pastespecial
     
     'Activate/deactivate drag and drop ability
    Application.CellDragAndDrop = Allow 
     
     'Activate/deactivate cut, copy, paste and pastespecial shortcut keys
    With Application 
        Select Case Allow 
        Case Is = False 
            .OnKey "^c", "CutCopyPasteDisabled" 
            .OnKey "^v", "CutCopyPasteDisabled" 
            .OnKey "^x", "CutCopyPasteDisabled" 
            .OnKey "+{DEL}", "CutCopyPasteDisabled" 
            .OnKey "^{INSERT}", "CutCopyPasteDisabled" 
        Case Is = True 
            .OnKey "^c" 
            .OnKey "^v" 
            .OnKey "^x" 
            .OnKey "+{DEL}" 
            .OnKey "^{INSERT}" 
        End Select 
    End With 
End Sub 
 
Sub EnableMenuItem(ctlId As Integer, Enabled As Boolean) 
     'Activate/Deactivate specific menu item
    Dim cBar As CommandBar 
    Dim cBarCtrl As CommandBarControl 
    For Each cBar In Application.CommandBars 
        If cBar.Name <> "Clipboard" Then 
            Set cBarCtrl = cBar.FindControl(ID:=ctlId, recursive:=True) 
            If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = Enabled 
        End If 
    Next 
End Sub 
 
Sub CutCopyPasteDisabled() 
     'Inform user that the functions have been disabled
    MsgBox "Sorry!  Cutting, copying and pasting have been disabled in this workbook!" 
End Sub 
 
 '*** In the ThisWorkbook Module ***
Option Explicit 
 
Private Sub Workbook_Activate() 
    Call ToggleCutCopyAndPaste(False) 
End Sub 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
    Call ToggleCutCopyAndPaste(True) 
End Sub 
 
Private Sub Workbook_Deactivate() 
    Call ToggleCutCopyAndPaste(True) 
End Sub 
 
Private Sub Workbook_Open() 
    Call ToggleCutCopyAndPaste(False) 
End Sub 


Copy above code for the standard module.
In Excel press Alt + F11 to enter the VBE.
Press Ctrl + R to show the Project Explorer.
Right-click desired file on left (in bold).
Choose Insert -> Module.
Paste code into the right pane.
Copy the code for the ThisWorkbook module.
In the project explorer, locate the ThisWorkbook object.
Double click the ThisWorkbook object.
Paste code into the right pane.
Press Alt + Q to close the VBE.
Save workbook before any other changes.
Close and reopen the workbook.

Verwijderd

Topicstarter
Beetje laat, maar toch bedankt!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op maandag 04 augustus 2008 @ 16:38:
Beveiligen van de cellen is geen optie, want dan kan er ook geen data meer ingevoerd worden.
Imhm was dat ook in Excel97 al niet waar. Alleen geblokkeerde cellen kunnen niet gewijzigd worden.
Default staan alle cellen op 'geblokkeerd' maar dat is via ctrl 1 snel te wijzigen. Iets verder kijken dus ;)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1