Avatar billede pdj Novice
17. januar 2008 - 13:27 Der er 2 kommentarer og
1 løsning

Formater afhængig af celletype

Jeg har en simpel makro der udlæser markerede celler til en csv-fil ved hjælp af Selection.Cells(RowCount, ColumnCount).Text, hvor jeg formatere det med citationstegn og den separator jeg foretrækker.

Men jeg vil gerne sikre at datoer altid bliver udlæst med en speciel formatering (DD-MM-YY) samt at decimaltal altid udlæses med komma som decimal adskiller og uden tusindadskiller.

Jeg kan nemt lave en NumberFormat = "dd/mm/yy;@", men den skal kun gøre det hvis cellen er en dato, og det ved makroen ikke om det er. Det samme med "tal".

Dvs. evt. noget i den her stil:
If Selection.Cells(RowCount, ColumnCount).CellType = vbDate Then
  Selection.Cells(RowCount, ColumnCount).NumberFormat = "dd/mm/yy;@"

Meget gerne en tilsvarende løsning til at spørge om noget er et tal. Hvis det er et tal, og har decimaler skal der bruges komma og ingen tusindadskiller. Alternativt skal talet angives uden decimal tegn og selvfølgelig uden tusindadskiller.

PS: Hvis nogen skulle være i tvivl, så er dette min første VBA makro - bær over med mig :-)
Avatar billede supertekst Ekspert
17. januar 2008 - 23:17 #1
Test betingelser vedr. dato & tal:
Sub test()
    If IsDate(Cells(1, 1)) = True Then
      ...OK...
    End If
   
    If IsNumeric(Cells(2, 1)) = True Then
        ...OK...
    End If
End Sub
Avatar billede pdj Novice
18. januar 2008 - 12:25 #2
Virker perfekt - mange tak. Post et svar så vi kan få den lukket.
Avatar billede supertekst Ekspert
18. januar 2008 - 13:12 #3
Fint - du får et svar
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