21. februar 2003 - 11:30
Der er
4 kommentarer og 2 løsninger
Problemer med NumberFormat
Jeg har et problem med NumberFormat funktionen i Excel 2000. Jeg har følgende kode (udsnit): Sheets(DataSheet).Visible = True Sheets(DataSheet).Select Columns("A:A").Select Selection.Clear Columns("A:A").Select Selection.NumberFormat = "0.0" MsgBox "Format = " & Selection.NumberFormat With Selection .HorizontalAlignment = xlLeft .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .IndentLevel = 0 .ShrinkToFit = False .MergeCells = False End With Workbooks.OpenText FileName:=fName, Origin _ :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _ , Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1) MsgBox "Format = " & Selection.NumberFormat Problemet er, at NumberFormat skal være 0.0 og det går også fint nok med at sætte den til det. Men når jeg så kører Workbooks.OpenText, så bliver NumberFormat lavet om til General, hvilket så gør, at når jeg læser værdien 18.3 fra filen, så kommer der til at stå "18 mar" i feltet fordi den tolker det som et dato format. Hvis jeg så bagefter ændrer NumberFormat på de celler, så får jeg jo et vildt tal som jeg ikke kan bruge til noget. Kan man ændre i Workbooks.OpenText så den ikke laver om på NumberFormat'er !? Snowball
Annonceindlæg fra Admin By Request
21. februar 2003 - 11:59
#1
Nej det kan du ikke - filen har det format den nu engang har, men leg lidt med denne her: Dim vntNumFormat As Variant vntNumFormat = "0.0" Sheets(DataSheet).Visible = True Sheets(DataSheet).Select With Columns("A:A") .Clear .NumberFormat = vntNumFormat MsgBox "Format = " & .NumberFormat .HorizontalAlignment = xlLeft .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .IndentLevel = 0 .ShrinkToFit = False .MergeCells = False End With Workbooks.OpenText Filename:=fName, Origin _ :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _ , Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1) MsgBox "Format = " & Columns("A:A").NumberFormat With Columns("A:A") .NumberFormat = vntNumFormat MsgBox "Format = " & .NumberFormat End With
21. februar 2003 - 13:08
#2
Velkommen tilbage, Flemming :-) Snowball -> Kast lige et blik på sidste linie i denne open text. Det er muligt at ændre general under import. Workbooks.OpenText Filename:="G:\tbc1a.txt", Origin:=xlWindows, StartRow _ :=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(13, 1), Array _ (25, 1), Array(33, 1), Array(42, 1), Array(51, 1), Array(60, 1), Array(69, 1), Array(80, 1), _ Array(102, 1), Array(132, 1), Array(137, 1), Array(147, 1), Array(153, 1)), _ DecimalSeparator:=".", ThousandsSeparator:=","
21. februar 2003 - 14:48
#3
bak: Det virker, så gider du lige lavet et svar så du kan få nogle point !? :) Snowball
21. februar 2003 - 15:02
#4
Det vil jeg da gerne. :-) Gad vide om de bliver tilskevet ?
21. februar 2003 - 15:21
#5
Har du problemer med at du ikke får point for et accepteret svar !? Snowball
21. februar 2003 - 15:56
#6
Jeg får nok pointene, men de vises ikke. Men nu havde jeg lige en mulighed for at chekke :-)
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig