Forfatter |
Emne Søg Emne funktioner
|
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Emne: Farvelæg hel række, hvis markør står i den Sendt: 12.Jan.2018 kl. 14:33 |
Hej Forum.
Betinget format Muligvis er dette forklaret i en anden tråd - Jeg ledte, men kunne ikke finde det.
Jeg kan skrive i cellerne C2:N2 + R2:T2. Hvis musen placeres i en af cellerne, vil jeg godt have de samme celler C2:N2 + R2:T2 til at vise f.eks. lysegult eller lysegrå.
Herefter har jeg 200 rækker ned af, men det er vel bare at kopiere formatet ned i de aktuelle rækker.
På forhånd tak
Ib
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
|
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Accepteret svar
Sendt: 12.Jan.2018 kl. 15:59 |
Denne her kan klare dine 200 rækker:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("C2:N200,R2:T200").Interior.ColorIndex = xlNone If Intersect(Selection, Range("C2:N200")) Is Nothing And _ Intersect(Selection, Range("R2:T200")) Is Nothing Then Exit Sub Range("C" & ActiveCell.Row & ":N" & ActiveCell.Row & ",R" & ActiveCell.Row & ":T" & ActiveCell.Row).Interior.Color = rgbYellow
End Sub |
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 12.Jan.2018 kl. 15:52 |
Indsæt denne i Worksheet modulet:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Selection, Range("C2:N2")) Is Nothing And _ Intersect(Selection, Range("R2:T2")) Is Nothing Then Range("C2:N2,R2:T2").Interior.ColorIndex = xlNone Else Range("C2:N2,R2:T2").Interior.Color = rgbYellow End If
End Sub |
Og, jo, du kan bare udvide med de række, du skal bruge
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Accepteret svar
Sendt: 12.Jan.2018 kl. 15:59 |
Denne her kan klare dine 200 rækker:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("C2:N200,R2:T200").Interior.ColorIndex = xlNone If Intersect(Selection, Range("C2:N200")) Is Nothing And _ Intersect(Selection, Range("R2:T200")) Is Nothing Then Exit Sub Range("C" & ActiveCell.Row & ":N" & ActiveCell.Row & ",R" & ActiveCell.Row & ":T" & ActiveCell.Row).Interior.Color = rgbYellow
End Sub |
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 12.Jan.2018 kl. 16:03 |
Og, her har du et regneark, med koden indbygget: www.excelgaard.dk/Files/Workbooks/DRF/MarkCellRows.XLSm www.excelgaard.dk/Files/Workbooks/DRF/MarkCellRows.XLSm
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 12.Jan.2018 kl. 16:30 |
Mit ark er låst. Derfor skal det låses op, før koden køres. Og låses igen, når koden er kørt. Det virker fint 
Men koden sletter eksisterende farver i skemaet. Det kunne undgås med en Betinget format, der bare ville farvelægge oven på eksisterenede farver. Farven gul er også meget skrap, men det kan nok løses med en RGB(kode) i stedet.
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 12.Jan.2018 kl. 16:34 |
Koden konflikter også med udskriftskoden
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 12.Jan.2018 kl. 19:14 |
Du kan, naturligvis, selv vælge hvilke(n) farve(r) som makroen skal 'defaulte' til - jeg valgte blot ingen farvelægning, da jeg ikke vidste bedre - men, du kan jo blot selv indlægge de(n) farve(r) som du ønsker.
Jeg valgte blot gul (rgbYellow) som markeringsfarve, fordi, det var den farve, som du selv nævnte i dit spørgsmål - igen, er du velkommen til selv at vælge din markeringsfarve.
Men, jeg forstår ikke, hvordan makroen kan konflikte med din udskriftskode?!? Min makro laver overhovedet ingen udskriftsindstillinger???
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 12.Jan.2018 kl. 19:44 |
Jeg har farvelagt enkelte kolonner i arket.
Koden starter med Range("C2:N200,R2:T200").Interior.ColorIndex = xlNone, hvilket fjerne al farven fra Range, når koden køres.
Men det kan jeg løse ved at farvelægge kolonnerne vha. et Betinget Format i de rækker, koden ikke fjerner farven fra. -----------
Som markeringsfarve bruger jeg Interrior.Color = RGB(255, 255, 200) som er en svag gul farve. Interrior.Coler = rgbYellow er en meget stærk gul farve. Muligvis vælger jeg i stedet en meget lysegrå farve.
Så det er også løst. -----------
Mht. min printerkode i arket. Den udskriver kun de udfyldte rækker og undlader at udskrive alle tomme rækker ned til række 200.
Række-markerings-koden starter med at låse arket op. Herefter aktiveres koden, der farvelægger rækken. Og så låses arket igen.
Printerkoden er sat til Range("C2:C200"). Når printerkoden kører, søger den ned igennem rækkerne, hvorefter den skjuler alle tomme rækker.
I den første tomme række bliver arket låst igen af række-markerings-koden. Det får printerkoden til at lave en BUG.
Men med lidt vilje, skal jeg nok også få det løst  Når og hvis jeg får løst det sidste problem, markerer jeg tråden som "Løst" 
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 12.Jan.2018 kl. 19:56 |
Jeg vil anbefale dig, at benytte en af RGB konstanterne, fremfor RGB() funktionen, da dette både gør din kode hurtigere, mere fejlfri, og lettere, at læse.
Du kan finde dem alle sammen her: www.excelgaard.dk/Bib/rgbFarver/Tabel/ www.excelgaard.dk/Bib/rgbFarver/Tabel/
Den lysegule farve, som du efterspørger, hedder 'rgbLemonChiffon' (har RGB værdierne 255, 250, 205, hvilket er meget tæt på dine værdier)
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 12.Jan.2018 kl. 20:04 |
Det vil jeg gøre, men bruger nok 'rgbGainsboro'
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 12.Jan.2018 kl. 20:06 |
Kan du ikke blot lade printer koden gøre det samme: Låse arket op først, og derefter låse arket igen bagefter? For du bruger vel forhåbentlig ikke '.Select', når du løber rækkerne igennem?!? Vel? VEL, ibbermand?  PS: Og, hvis du gør, så kan du løse problemet, ved at lade...
Application.EnableEvents = False |
...være den første linje i din printer makro, og derefter lade...
Application.EnableEvents = True |
...være den sidste linje i din printer kode.
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 12.Jan.2018 kl. 20:24 |
Jeg vedhæftede jo arket i mit svar nr. 1, så du kan selv se koden. Den står i Modulet - A06_Udskriv_Skema
Men - Printerkoden låser først arket op. - Næst søger den fra C2 til C213 og finder den første tomme række, der vælges med Select. - Næst skjuler den rækken. - Og det fortsætter den med til slut med Next. - Endelig låser den arket igen.
- Men når den første tomme række bliver 'Selected', aktiveres markerings-koden og så låser arket. - Derved kommer der BUG på 'Selection.EntireRow.Hidden = True' da den ikke kan skjule en række, der er låst.
Det er et spørgsmål om at finde en anden printerkode, men den skal jeg først lede efter på nettet.
'UnprotectAll myPassword = Sheets("Indstil").Range("B1").Value For Each sheet In ActiveWorkbook.Worksheets sheet.Unprotect Password:=myPassword Next sheet 'HideEmptyRows Dim s As String For i = 1 To Range("C2:C213").Count s = i & ":" & i If IsEmpty(Cells(i, 3).Value) Then Rows(s).Select Selection.EntireRow.Hidden = True End If Next 'ProtectAll myPassword = Sheets("Indstil").Range("B1").Value For Each sheet In ActiveWorkbook.Worksheets sheet.Protect Password:=myPassword, AllowFiltering:=True Next sheet |
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 12.Jan.2018 kl. 20:34 |
Application.EnableEvents = False / True løste problemet
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 12.Jan.2018 kl. 21:51 |
Jeg vedhæftede jo arket i mit svar nr. 1, så du kan selv se koden |
Det var derfor, jeg skrev, som jeg skrev - man må ALDRIG bruge '.Select' i sin kode - ALT koding kan klares uden '.Select' (med nogle få ret speciale undtagelser, som jeg er sikker på, at du aldrig kommer til at støde ind i  ) Men, du fik løst problemet - så... ROCK ON, Ibbermand
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 12.Jan.2018 kl. 21:54 |
Ja, tak for hjælpen 
Nu mangler jeg bare en søgefunktion  Man bliver aldrig færdig og finder hele tiden på nye sjove funktioner, der tager en F****** tid at lave 
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 13.Jan.2018 kl. 07:04 |
Et regneark bliver aldrig færdig - man holder bare en pause fra at arbejde på det, mens man arbejder på et andet regneark - men, før eller siden vender man tilbage til det
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |
Bjarnehansen
Platin bruger
Medlem: 20.Nov.2011
Land: DK
Status: Offline
Point: 5615
|
Sendt: 13.Jan.2018 kl. 07:07 |
Det kender jeg godt
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag. Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 13.Jan.2018 kl. 10:01 |
Jeg har 5-6 projekter, jeg ikke kan blive færdig med, fordi jeg er kørt fast i VBA koderne  Når jeg vender tilbage, har jeg næsten glemt, hvor jeg var kommet til  De bliver nok aldrig færdige 
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 13.Jan.2018 kl. 19:19 |
Jeg havde en fejl i mit ark, jeg ikke forstod.
Når jeg kører en kode, der kræver at arket skal være ubeskyttet, starter koden med at låse arket op. I slutningen af koden, beskytter den hele arket igen.
Jeg kunne ikke forstå, at hver gang jeg testede, om en celle, der burde være låst, nu også var det, var den ulåst.
Jeg stod derfor på fanen "Gennemse" og kunne se knappen "Beskyt ark" - Hver gang jeg klikkede inde i skrivefeltet, der markere en Row med farve, blev arket låst. - Hver gang jeg klikke udenfor skrivefeltet, blev arket låst op. - Jeg deaktiverede derfor farve-koden med REM og så virkede det hele igen.
Hvad er det, der sker med farve-koden, når man klikke udenfor 'Range("C2:N200, R2:T200")' ? Hvorfor låses arket op ?
Lidt ærgelig, da det var en god koden, men som den er nu, kan den ikke bruges 
Dim myPassword As String Dim sheet As Worksheet
'UnprotectAll myPassword = Sheets("Indstil").Range("B1").Value For Each sheet In ActiveWorkbook.Worksheets sheet.Unprotect Password:=myPassword Next sheet
Range("C2:N200,R2:T200").Interior.ColorIndex = xlNone
If Intersect(Selection, Range("C2:N200")) Is Nothing And _ Intersect(Selection, Range("R2:T200")) Is Nothing Then Exit Sub
Range("C" & ActiveCell.Row & ":N" & ActiveCell.Row & ",R" _ & ActiveCell.Row & ":T" & ActiveCell.Row).Interior.Color = rgbLemonChiffon Rem farvetabel - www.excelgaard.dk/Bib/rgbFarver/Tabel/" target="_blank" rel="nofollow">http://www.EXCELGAARD.dk/Bib/rgbFarver/Tabel/ Rem RGB(242, 242, 242) = Lysegrå Rem RGB(255, 255, 204) = Lysegul 'ProtectAll myPassword = Sheets("Indstil").Range("B1").Value For Each sheet In ActiveWorkbook.Worksheets sheet.Protect Password:=myPassword, AllowFiltering:=True Next sheet |
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 13.Jan.2018 kl. 20:19 |
Som du kan se i koden, så gør koden INTET ved '.Locked' egenskaben ved cellen - så det er ikke min kode, der er noget i vejen med - fejlen må ligge et andet sted...
En grum mistake dukker dog op i mit baghoved: Det er 'Fy, fy, skamme, skamme, a, a, niks, niks, slut, forbudt' at benytte VBA kodeord som variabel navne!
Så, at benytte variabel navne som 'sheet' er en dødssynd! Du risikere, at VBA ikke ved, hvad du hentyder til: Objektet eller din variabel.
Jeg havde faktisk problemet, så sent som i sidste uge, hvor jeg skulle fejl søge på en kode for en anden person, og, hvor det viste sig, at fejlen var noget så enkelt, som at han havde benyttet 'Name' som variabel navn! Vi rettede variabel navnet til 'MyName', der ikke er et VBA kodeord, og, vupti - koden virkede...
Enten er det, dette, der er fejlen, eller osse er det fordi, du undervejs gør noget andet i en anden makro (jeg mistænker dig, for at fortage noget kopiering i din kode?).
Men, under alle omstændigheder bør du ændre dit variabel navn til noget andet en 'sheet'. Jeg benytter altid variablen, 'WS', for 'Worksheet'.
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
 |