14. november 2003 - 13:17Der er
21 kommentarer og 1 løsning
Fjerne linjer fra tabel i protected sheet.
Hej Jeg har et regneark med et advanced filter. Dette filter laver en tabel i sheet1. Nu ligger det så sådan at jeg gerne vil kunne fjerne nogle af linjerne fra tabellen. Dette kunne jo gøres ved at highlighte linjen og vælge delete fra højrekliksmenuen. Men da sheet'et er protected kan det jo ikke lade sig gøre. Jeg vil så gerne have det sådan, at hvis man dobbeltklikker på en celle i søjle A slettes denne linje. Jeg tænker det kan gøres med visual og jeg kunne nok også godt selv lave det med 20 funktioner, en for hver celle i søjle A. Men kan man lave det sådan, at hvis man højreklikker på en celle i A7:A28 fjernes den linjer man har klikket på?
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Det jeg havde i tankerne var, at sheet'et blev unprotected ved dobbeltklik i rangen og linjen der korresponderer til den aktive celle så blev slettet. Sheet protectes til slut.
Om du kan gøre det med et dobbeltklik tror jeg måske ikke, men du kan ihvertfald gøre det v.h.a. en makro, som først slår arkbeskyttelsen fra, derefter sletter den valgte linie og til sidst slår beskyttelsen til igen.
men så kan jeg vel bare lade visual lytte efter dobbeltklik den celle og så køre makroen derfra: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("A6")) Is Nothing Then Call delRow End If End Sub
Men problemet er, at jeg så skal lave 20 makroer, en for hver linje jeg vil have mulighed for at slette. Ligeledes skal jeg lave 20 stykker kode. Derfor ville jeg gerne lave et stykke kode der sletter linjen ved dobbeltklik på den.
If Not Intersect(Target, Range("A7:A50")) Is Nothing Then Worksheet.Unprotect Selection.EntireRow.Delete Worksheet.Protect End If
Men det virker ikke. Den midterste linje virker fint, men det er ophævelse af beskyttelse der ikke virker. Jeg behøver vel ikke unprotecte hele workbook'en (det er kun det aktive sheet der er protected).
En sidste ting, jeg har denne her kode: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("A6:H6")) Is Nothing Then ActiveSheet.Unprotect Range("A6:I50").sort Key1:=Range("A7"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End If End Sub
Den sorterer tabellen efter indgang A7 ved dobbeltklik på en af overskrifterne. Hvordan kan man gøre det sådan at den sorterer efter den celle der svarer til cellen under den celle der er klikket i? Altså hvis jeg klikker på B6 så sorterer den efter B7.
Det er klaret: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("A6:I6")) Is Nothing Then ActiveSheet.Unprotect Range("A6:I50").sort Key1:=ActiveCell, Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End If End Sub
Men jeg ville gerne vide hvordan jeg kan sætte rangen til at gå fra A6 og hele vejen ned uden at skulle sætte den til A6:A65536 eller hvor meget det nu er. Kan man gøre sådan at rangen går fra A6 til sidste celle med indhold? Kan man også gøre det med navngivne områder? Jeg bruger advanced filter og der har jeg jo en database, denne er ikke fast størrelse, så derfor har jeg måtte lave området database noget større end indholdet er pt, kan det løses?
Ja, det tror jeg. Du kan lave et navngivent område, som du selv skriver, hvor du definerer et dynamisk område v.h.a. formlen OFFSET(FORSKYDNING). I VBA-koden kan du så bare henvise til dette navn.
sådan, Google var min ven, jeg har fundet ud af hvordan man navngiver ved brug af offset, det er smart. Arket er nu færdigt og spiller max, mange tak for hjælpen.
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.