Avatar billede svla Mester
04. februar 2009 - 21:01 Der er 3 kommentarer og
1 løsning

VBA - kode til genkendelse af kolonneområder.

Hej!
Er der nogen som lige kan hjælpe med en VBA-kode som ved dobbeltklik i forskellige celler kan genkende om det er det korrekte kolonneområde.
Jeg har prøvet med koden herunder, men den virker ikke rigtig, og jeg ved ikke rigtig hvad jeg skal gøre


  If Intersect(Target, Range("E:F,P:Q,AA:AB,AL:AM,AW:AX")) Is Nothing Then
    'Ingenting
  Else
    ActiveCell = "X"
    ActiveCell.Next.Select
  End If

  If Intersect(Target, Range("H:I,K:L,N:O,S:T,V:W,Y:Z,AD:EE,AG:AH,AJ:AK,AO:AP,AR:AS,AU:AV,AZ:BA,BC:BD,BF:BG")) Is Nothing Then
  Else
    ActiveCell.Value = TidNu
    ActiveCell.NumberFormat = "[hh]:mm"
    ActiveCell.Next.Select
  End If

Håber nogen kan hjælpe, eller komme med andet forslag.
Avatar billede kabbak Professor
04. februar 2009 - 23:19 #1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("E:F,P:Q,AA:AB,AL:AM,AW:AX")) Is Nothing Then

    ActiveCell = "X"
    ActiveCell.Offset(1, 0).Select ' flytter 1 række ned,(0,1) flytter 1 til højre
  End If

  If Not Intersect(Target, Range("H:I,K:L,N:O,S:T,V:W,Y:Z,AD:EE,AG:AH,AJ:AK,AO:AP,AR:AS,AU:AV,AZ:BA,BC:BD,BF:BG")) Is Nothing Then
    ActiveCell.Value = Now() - Date
    ActiveCell.NumberFormat = "[hh]:mm"
    ActiveCell.Offset(1, 0).Select ' flytter 1 række ned,(0,1) flytter 1 til højre
  End If

End Sub
Avatar billede svla Mester
05. februar 2009 - 15:57 #2
Kabbak
Kunne ikke få en kommentar ind på den nye side her før nu, -har forsøgt tidligere.

Jeg har prøvet din kode og den virker bortset fra et par mærklige problemer som er:

Ved dobbeltklik i en celle i følgende kolonner sker der følgende:
Dobbeltklik i  AL,  sættes der "X" i AL  (korrekt),  og "Tid"  i AM (fejl)
Dobbeltklik i AM,  sættes der "X" i AM (korrekt),  og "Tid"  i AN  (fejl)
Dobbeltklik i AW, sættes der "X" i AW  (korrekt),  og "Tid"  i AX (fejl)
Dobbeltklik i AX,  sættes der "X" i AX  (korrekt),  og "Tid"  i AY (fejl)

Hvorfor der bliver sat tid ind i cellen til højre for den celle hvori der er dobbelklikket kan jeg ikke finde ud af.  Ved dobbeltklik andre steder fungerer det perfekt.
Håber du har en løsning
Avatar billede kabbak Professor
05. februar 2009 - 16:43 #3
du havde fejl i
  If Not Intersect(Target, Range("H:I,K:L,N:O,S:T,V:W,Y:Z,AD:AE,AG:AH,AJ:AK,AO:AP,AR:AS,AU:AV,AZ:BA,BC:BD,BF:BG")) Is Nothing Then

du har AD:EE med i rækken, det er ændret til AD:AE
Avatar billede svla Mester
06. februar 2009 - 21:17 #4
Hej!
Tak for dine svar.
Mit excelark er beregnet til nogle indtastninger af fraværstid, komme og gå(tid) op til 3 gange daglig og afkrydsning(X) af om man er kommet og gået først og sidst på dagen i ugens 5 første dage.
Jeg har ikke selv været opmærksom på den fejl som du beskriver, selv om jeg har set koden efter flere gange, og hvis den fejl blev rettet havde koden sikkert fungeret perfekt uden fejl.
Jeg fik selv løst problemet, måske lidt amatøragtigt, men jeg delte "IF" koden op således at jeg fik 2 If koder for mandag, 2 "IF" koder for tirsdag, osv. således at der var to "IF for hver dag af ugens 5 første dage, -jeg tænkte, måske er der for mange områder i Range, og så virkede det perfekt. - Men nu kan jeg jo se at der var en fejl, denne fejl har jeg jo nok fået rettet ved og omskrive koden. - Men så ved vi jo, at det kan det gøres på to måder.
- Tak for din hjælp, du hjalp mig virkelig på rette vej, det er jeg glad for, og så kan jeg blive færdig med mit ark.
- Tak for hjælpen og læg et svar, point er dine, men der var så heller ikke andre som reflekterede på mit problem.

Tak for hjælpen
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