Avatar billede leahcim Juniormester
03. november 2005 - 12:11 Der er 11 kommentarer og
1 løsning

Begrænsninger af mulig indtastning i en celle

Hej

Jeg vil spørge om det kan lade sig gøre at kun have mulighed for at skrive en "dato" (dd.mm.åååå) eller "nej" i en celle og hvis man skriver noget andet bliver man guidet eller gjort opmærksom på de mulighedder der er?

Er det muligt?

Hilsen
Leahcim
Avatar billede oyejo Nybegynder
03. november 2005 - 12:42 #1
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = Cells(1, 1).Address Then
    If IsDate(Target.Value) = False And Not UCase(Target.Value) = "NEJ" Then
    Target.ClearContents
    Target.Select
    End If
    If IsDate(Target.Value) = True Then
      Target.Value = Format(Target.Value, dd - mm - yyy)
    End If
  End If
End Sub
Avatar billede oyejo Nybegynder
03. november 2005 - 12:44 #2
rett denne linje:
Target.Value = Format(Target.Value, dd - mm - yyyy)
Avatar billede leahcim Juniormester
03. november 2005 - 12:50 #3
Hmmmmm - Tak, men hvor og hvordan skal jeg sætte den kode i cellen?

Jeg har aldrig lavet makro før.

Leahcim
Avatar billede oyejo Nybegynder
03. november 2005 - 13:01 #4
du står i excel,
trykk Alt + F11
Tryyk ctrl + R
Du vil nå se navnet på det arket som cellen ligger i
Dobbelklikk på denne
du får opp et blankt vindu, lim inn koden der.

Denne koden virker på Celle A1  ( Cells(1,1) der første tall er rad ..)
Avatar billede leahcim Juniormester
03. november 2005 - 13:10 #5
Tak, jeg har et problem med flettede celler som jeg lige vil løse (fjerne fletningen). Hvordan kan jeg bruge koden til forskellige kolonner f.eks L5 til L30 og M5 til M30.

Send et svar så er der point på vej

Tak for hjælpen.

Leahcim
Avatar billede oyejo Nybegynder
03. november 2005 - 13:32 #6
Hvis samme test skal gjøre i flere celler:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Row > 4 And Target.Row < 31 And _
  Target.Column > 11 And Target.Column < 14 Then
    If IsDate(Target.Value) = False And Not UCase(Target.Value) = "NEJ" Then
    Target.ClearContents
    Target.Select
    End If
    If IsDate(Target.Value) = True Then
      Target.Value = Format(Target.Value, dd - mmmm - yyyy)
    End If
  End If
End Sub

Dette kan sikkert gjøres mere elegant,
kanskje noen kan komme med en bedre løsning.

jeg er norsk, er litt usiker på hva som menes med fletting i excel :-)
Avatar billede oyejo Nybegynder
03. november 2005 - 13:33 #7
fletting, er det det samme som å slå sammen flere celler til en?
Avatar billede leahcim Juniormester
03. november 2005 - 13:36 #8
Ja, det er det samme.

Tak for hjælpen :-)

Leahcim
Avatar billede oyejo Nybegynder
03. november 2005 - 13:38 #9
velg format -> celler ( eller ctrl + 1)
velg justering ( på norsk )
ta bort flueben ved "slå sammen celler"
Avatar billede oyejo Nybegynder
03. november 2005 - 13:44 #10
nb! de flettede celler må være merket før du velger format....
Avatar billede leahcim Juniormester
03. november 2005 - 13:46 #11
Ja, jeg er i gang med at fjerne fletningen.
Avatar billede oyejo Nybegynder
03. november 2005 - 14:05 #12
Hvis du har mange flettinger i et område, kan du markere hele området,
da fjerner du samtlige flettinger på en gang
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