Avatar billede JNC Seniormester
13. juli 2016 - 09:41 Der er 30 kommentarer og
5 løsninger

VBA el. lign. til sporing af aktiv celle !

Hej
jeg har haft nedenstående tråd.
http://www.computerworld.dk/eksperten/spm/1009277

Her fik jeg ideer til hvordan man kunne spore/følge sin aktive celle.
Fint, MEN jeg har betinget formatering i området (hver 2. linje er lysegrå) det forvire når løsningen er farver. + hvis man vil pille det af igen fucker det alt formatering op i arket. + det vil med på en Print af arket :(

Derfor ville jeg gerne bruge FEDskrift som "sporing",
Mit problem er nok i virkeligheden at jeg ikke selv kan VBA "sprog" :)

Som det ses i tidligere tråd tråd, laver nogle af koderne bøvl, så man mister en stor del genvejs-taster.
men ikke denne:
  Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
      Cells.Interior.ColorIndex = xlNone
      With ActiveCell
      .EntireRow.Interior.Color = RGB(300, 200, 100)
      .EntireColumn.Interior.Color = RGB(300, 200, 100)
    End With
  End Sub
kan den evt. laves om til kun at formatere aktiv række og kolonne's skrift (Font) til FED. ??

NB.:
+ evt. med mulighed for ikke at blive synlig på en Print af arket :)
+ Kan det holdes inden for f.eks. A1 til EA101, for at arket ikke bliver for "tungt" at arbejde i ??

Jeg håber på nogen har en løsning eller evt. gode råd fra egen erfaring, jeg bliver træt i hovedet af at holde øje med den aktive celle hele dagen :D
Avatar billede excelent Ekspert
13. juli 2016 - 10:05 #1
Avatar billede JNC Seniormester
13. juli 2016 - 11:30 #2
Hej Excelent
Den er faktisk meget sød og den er da til at følge :), Den vil dog stadigvær med på et print, kan man på anden måde slå det fra ?
Kan man ikke det så hellere FED skrift- (end en farvet pil eller linjer med farve).

den mangler evnen til at vise/Higlight, resten af linje og kolonne.
det er et ret stort ark hvor der i kol.B"19" står "rum nr". + mange dat ud til AO
derfra til MP i række 3, står vare navn.

Selv om Excel makere linje nr og jeg ellers har froset linjer, så skal jeg ager til knibe øjnene sammen for at være sikker på jeg taster rigtig vare i rigtig rum.
Avatar billede store-morten Ekspert
13. juli 2016 - 11:33 #3
Prøv:
  Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
  If Not Intersect(Target, Range("A1:EA101")) Is Nothing Then 'ved ændring i A1 til WA101
      Range("A1:EA101").Font.Bold = False
      With ActiveCell
        .Font.Bold = True
    End With
  End If
  End Sub
Avatar billede store-morten Ekspert
13. juli 2016 - 11:42 #4
Har du Betinget formatering i området A1:EA101 ?
Avatar billede store-morten Ekspert
13. juli 2016 - 11:45 #5
Har du Datavalidering i området A1:EA101 ?
Avatar billede store-morten Ekspert
13. juli 2016 - 12:22 #6
Hvis der ikke er datavalidering, så prøv at lave det.

Prøv i et tomt ark:
Sub Sæt_Datavalidering()
Range("A1:I50").Select '<--Tilpasses
    With Selection.Validation
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .InputMessage = "Her er jeg !!!"
    End With
Range("A1").Select
End Sub
Kør makroen en gang, for at lave Datavalidering, makroen kan derefter slettes.
Avatar billede excelent Ekspert
13. juli 2016 - 13:27 #7
Du kan vælge om den skal udskrives under indstillinger for pilen, samt ændre på størrelse og vinkel. men ved godt det ikke er optimalt.

Du kan evt. prøve denne kode som laver et rødt kryds med aktiv celle i midten, men desværre sletter den også evt bestående kanter...

OBS alt neden for denne linie indsættes i Arkets kodemodul :


Dim adr As String
Dim kol As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If adr <> "" Then Rows(adr).Borders(xlEdgeTop).LineStyle = xlNone
If adr <> "" Then Rows(adr).Borders(xlEdgeBottom).LineStyle = xlNone
If kol <> "" Then Columns(CDec(kol)).Borders(xlEdgeLeft).LineStyle = xlNone
If kol <> "" Then Columns(CDec(kol)).Borders(xlEdgeRight).LineStyle = xlNone

    With Rows(Target.Row).Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 3
    End With
        With Rows(Target.Row).Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 3
    End With
        With Columns(Target.Column).Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 3
        .TintAndShade = 0
        .Weight = xlThin
    End With
        With Columns(Target.Column).Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 3
        .TintAndShade = 0
        .Weight = xlThin
    End With
adr = Target.Row
kol = Target.Column
End Sub
Avatar billede JNC Seniormester
13. juli 2016 - 13:30 #8
Hej Store Morten
#6 hvorfor ?
Avatar billede JNC Seniormester
13. juli 2016 - 13:33 #9
Hej Store Morten
#3 giver netop de omtalte problemer, Jeg mister genveje som ctrl + c osv...
Avatar billede store-morten Ekspert
13. juli 2016 - 13:36 #10
Prøv #6
Den skulle ikke give de omtalte problemer
Avatar billede store-morten Ekspert
13. juli 2016 - 13:40 #11
#8 Hvorfor hvad?

Den giver skærm tip, i aktuel celle.
Avatar billede JNC Seniormester
13. juli 2016 - 16:06 #12
Hej Excelent
Den med pilen, nu har jeg prøvet den i mit hoved ark.

Jeg har en knap / kontrolellement, tildelt makro i "Denne mappe":

Sub SkjulKolonner()

Application.ScreenUpdating = False
ActiveSheet.Unprotect
        ActiveSheet.Columns("E:K").EntireColumn.Hidden = True
        ActiveSheet.Columns("L:R").EntireColumn.Hidden = True
        ActiveSheet.Columns("W:X").EntireColumn.Hidden = True
        ActiveSheet.Columns("Z:AE").EntireColumn.Hidden = True
        ActiveSheet.Columns("AI:AJ").EntireColumn.Hidden = True
        ActiveSheet.Columns("AP:AU").EntireColumn.Hidden = True
        ActiveSheet.Columns("BC:BG").EntireColumn.Hidden = True
ActiveSheet.Protect
Application.ScreenUpdating = True

End Sub
-------
de to driller hinanden, når jeg har tldelt "pillen" i ark 1. så ryger "knappen" hen på pilens plads, og følger "activ"celle rundt på arket :)

kan du fortælle hvad der sker ??
Avatar billede store-morten Ekspert
13. juli 2016 - 16:42 #13
Har du prøvet #6 i et tomt ark?
Avatar billede store-morten Ekspert
13. juli 2016 - 16:45 #14
Den laver en boks ala´ pilen, med teksten "Her er jeg !!!" som følger aktiv celle.
Avatar billede excelent Ekspert
13. juli 2016 - 17:34 #15
he he så ved du da hvor knappen er lol

nå men det er nok shape nr du skal kikke på
prøv ændre 1 talet i  ActiveSheet.Shapes(1).Top
    til
ActiveSheet.Shapes(2).Top

eller et større tal afh. hvor mange knapper du har (husk ret i begge linier)

Har du prøvet koden i indlæg #7
Avatar billede store-morten Ekspert
15. juli 2016 - 16:26 #16
Har du prøvet #6 i et tomt ark?
Så undgås de omtalte problemer, som mistede genveje som ctrl + c osv...
Avatar billede JNC Seniormester
12. august 2016 - 09:52 #17
Hej Store Morten
Det er ikke et tomt ark jeg arbejder på :)
og jeg har masser af datavalidering :)
Avatar billede JNC Seniormester
12. august 2016 - 10:21 #18
Hej Excelent

er
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'ActiveSheet.Shapes.Range(Array("Left Arrow 1")).top
ActiveSheet.Shapes(3).Top = ActiveCell.Offset(0, 1).Top - 3
ActiveSheet.Shapes(3).Left = ActiveCell.Offset(0, 1).Left + 5

End Sub

Koden anderledes hvis det ikke er Win 10 Excel ?
Jeg kan ikke få det til at fungere :(
Avatar billede JNC Seniormester
12. august 2016 - 11:03 #19
Hej Ecelent
#1 hvad gør koderne i modul 1 ?
hvis jeg opretter et ark 2 i din mappe og kopier koden fra ark1, så går det helt galt.
jeg har en mappe med 13 ark, så kan du afhjælpe hvordan jeg for det til at fungere ?
Avatar billede store-morten Ekspert
12. august 2016 - 17:39 #20
"Det er ikke et tomt ark jeg arbejder på"
Nej, det er jeg klar over ;-) Kun for at se resultatet.

"og jeg har masser af datavalidering"
Derfor test i tomt ark, og bliv ærgelig, over du ikke kan bruge løsningen, i dette tilfælde.
Avatar billede JNC Seniormester
13. august 2016 - 09:26 #21
Okay
nu har jeg en tom mappe
og sætter #6 ind i ark et og gemmer som xl med makro ;-)
der skar ikke noget ?
Men hvad bør der stå hvor skriver " '<--Tilpasses " ?

Jeg må indrømme ideen med en lille pil der kan justeres så den ikke skygger formeget for andet data omkring cellen, virker tiltalende :)
Kan du evt. hjælpe med mnine spørgsmål, til det Excelent har startet :D ?
Avatar billede JNC Seniormester
13. august 2016 - 09:58 #22
så er der en ny udfordring, jeg ved ikke om det vil gælde for #6
Jeg har jo en del skjulte celler / kolonner, så når jeg står på venstreside af en skjult kolonne forsvinder hjælpen sammen med den skjulte kolonne ?

jeg tænker at en pil måske kan justeres som objekt, så den altid vises forest ?
Avatar billede store-morten Ekspert
13. august 2016 - 12:26 #23
Fra #6
i et tomt ark:
[Makro]
Kør makroen en gang, for at lave Datavalidering, makroen kan derefter slettes.

Når du køre makroen oprettes Datavalidering i område A1:I50 '<--Tilpasses "
Der kommer nu skærm tip, i aktuel celle.
Avatar billede JNC Seniormester
13. august 2016 - 13:03 #24
Nå ja det kan jeg godt se, det fungere meget godt.
ind til jeg kom til at klikke på "skærmtip'et" ? så følger det ikke med mere ?
Avatar billede JNC Seniormester
13. august 2016 - 13:11 #25
også
bonus spørgsmål ! er det muligt at få "Skærm-tip" til at følge cellens placering, kun op og ned på kolonne A1, ?
Sådan at hvis jeg står i kolonne  X,1-101 så er skærmtip, inde ved A, 1-101.
fordi det er der jeg skal holde øje med hvad der står i cellen (kolonne A) når jeg taster i cellen kolonne X,1-101.
Avatar billede excelent Ekspert
15. august 2016 - 22:12 #26
Avatar billede JNC Seniormester
18. august 2016 - 08:29 #27
Hej excelent
endnu en Super ide :)
1. du har en Sub nix i Modul1 er den overflødig ?
2. Jeg har forsøgt at kopier kode fra Ark 1 til et Ark 2.  jeg fik en fejl 1004 jeg trykker debug, (jeg ved ikke helt hvordan man kan se hvad det er den mener der er galt :))
jeg ændrede Rectangle 1 - 3 og 2 - 4 men så sker der bare ingen ting, heller ikke fejl ?
3. sidste ting hvordan ændre at det ikke skal med på en udskrift ?

Ps. jeg håber ikke jeg bliver for besværlig :)
Avatar billede JNC Seniormester
18. august 2016 - 09:44 #28
NB jeg har fundet i indstilling hvor man ændre så objekt ikke udskrives ! :)
Avatar billede JNC Seniormester
18. august 2016 - 12:15 #29
Jeg har dog opdaget  nogle ulember
når jeg skjuler linjer bliver formateringen hængende i de skjulte linjer, og sletter man linjer eller celler ryger formateringen også :(
Avatar billede excelent Ekspert
20. august 2016 - 09:43 #30
Højre klik på boksen, under egenskaber vælg "Bevar celleplacering og størrelse"

Sub nix er en sub som ikke udfører noget. Er alene oprettet til boksene, så du ikke går i edit mode når du klikker på selve boksen.

m.h.t. flytning af kode til nyt ark... kikker på det...
Avatar billede excelent Ekspert
20. august 2016 - 09:52 #31
m.h.t. flytning af kode til nyt ark...

Start med at kopiere den ene boks til et nyt ark, kopier så denne boks til samme ark
Indsæt derefter koden i det nye ark.
Avatar billede JNC Seniormester
20. august 2016 - 22:19 #32
Til  Excelent
Tak Tak Tak
Det er den bedste og mest udførlige hjælp jeg har fået på Eksperten :)
Tusind tak !

Hilsen den taknemelige
Avatar billede JNC Seniormester
24. august 2016 - 11:44 #33
Hej Igen (Excelent)

Nu har jeg fundet ud af at flytte til andre mapper og jeg kan have flere mapper åben.
men nu vil jeg Udvide til en 3 "sporing"/rektangel, der skal følge den active cell.
MEN, den skal følge den vandret i row4 !
Alt vi har en pt. der køre lodret  frit i Rows, fast i colmn 4,
Nu skal vi udvide med en der køre frit i Colmns, Fast i Row 4.
Jeg har forsøgt at kopier og ændre i din kode, men jeg kan skutte få det til at virke.
Avatar billede excelent Ekspert
24. august 2016 - 18:32 #34
Prøv :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Top = ActiveCell.Top
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Left = ActiveCell.Left
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Width = ActiveCell.Width
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Height = ActiveCell.Height

ActiveSheet.Shapes.Range(Array("Rectangle 2")).Top = Cells(4, ActiveCell.Column).Top
ActiveSheet.Shapes.Range(Array("Rectangle 2")).Left = Cells(4, ActiveCell.Column).Left
ActiveSheet.Shapes.Range(Array("Rectangle 2")).Width = Cells(4, ActiveCell.Column).Width
ActiveSheet.Shapes.Range(Array("Rectangle 2")).Height = Cells(4, ActiveCell.Column).Height
End Sub
Avatar billede JNC Seniormester
31. august 2016 - 13:14 #35
Hej Excelent

Jeg ha fundet ud af at genveje Som ctrl. Z (Fortyd) ikkefungere i de ark hvor koden er indsat :(

Ctrl. X og V fungere fint !

Hå du kender forklaringen ?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester