Avatar
Jack
Člen
Avatar
Jack:

Ahoj.
Vylepšuji měřící desku a narazil jsem na problém s exportem čísel do Excelu.
Čísla nemají vhodný tvar - viz obrázek v příloze. Poraďte mi prosím. Dík.
=============­========================­===============
V Project->References přidáno "Microsoft Excel 10.0 Object Libraty"
=============­========================­===============

Dim MsExcel As Excel.Application

Private Sub Command1_Click()
Dim a As Long
For a = 995 To 1005
List1.AddItem FormatNumber(a / 1000, 3)
Next
End Sub

Private Sub Command2_Click()
MsExcel.Workbooks.Add
Dim x As Long
For x = 0 To 10
Cells(x + 1, 1).Value = FormatNumber(List1.List(x), 3)
Next
MsExcel.Visible = True
End Sub

Private Sub Form_Load()
Set MsExcel = CreateObject("Excel.Application")
End Sub
 
Odpovědět 20. března 18:57
Avatar
Odpovídá na Jack
Michal Štěpánek:

Podle mě ta desettinná čísla v excelu nejsou v buňkách uložená jako čísla, ale jako text (protože čísla se zarovnávají automaticky vpravo). Zkus nahradit čárku tečkou, jak se to bude chovat...

Nahoru Odpovědět 21. března 6:48
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jack
Člen
Avatar
Jack:

Ahoj Michale.
Nahrazení čárky za tečku nepomáhá - píše to neshoda typu.
Při exportu čísel do textového editoru vše funguje správně.
Předpokládám, že tam v nějaké souvislosti chybí tento symbol "#".

Output As #1, Print #1, Close #1

Stejně moc děkuji. Jack

 
Nahoru Odpovědět 21. března 15:37
Avatar
cmuch
Člen
Avatar
cmuch:

Ahoj,
řekl bych, že čísla vytváříš jako tisícová a do excelu je také tak vkládáš.
Jelikož používáš americký způsob značení čísel (čárka značí tisíce a tečka desetinné místo)
a také se tak vložilo do excelu, pokud si všimneš tak z těch čísel se to tak vyvořilo.
No a protože 0,995 zde není des.číslo ale číslo 995 a to 0 tisíc nezná tak to takto vložil.

Pohrál bych si s tímto a mělo by být po problému

 
Nahoru Odpovědět 22. března 6:11
Avatar
Jack
Člen
Avatar
Jack:

Ahoj Cmuchu, máš pravdu.
Excel vezme čísla do dvou desetin v pořádku, ale vyšší řády přeskupuje.
Problém jsem vyřešil tím, že jsem změnil výstupní jednotky z [V] na [mV].
Děkuji moc. Jack

 
Nahoru Odpovědět 22. března 10:46
Avatar
Odpovídá na Jack
Michal Štěpánek:

Když použiješ tlačítko "Odpovědět", tak se to tomu člověku zobrazí v aktualitách, popř. mu přijde do mailu, že jsi reagoval, tím pádem může zase on pružněji reagovat na tvůj případný další dotaz...

Nahoru Odpovědět 22. března 10:49
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jack
Člen
Avatar
Odpovídá na Michal Štěpánek
Jack:

Děkuji za upozornění. Příště si na to dám pozor. Jack

 
Nahoru Odpovědět 22. března 11:03
Avatar
cmuch
Člen
Avatar
Odpovídá na Jack
cmuch:

Jsem rád, že pomohlo.
Jinak téma můžeš označit jako vyřešené.

 
Nahoru Odpovědět 30. března 8:19
Avatar
Jack
Člen
Avatar
Jack:

Ahoj.
Tak jsem problém vyřešil.
Stačí přidat při ukládání do buňky před číslo apostrof.
Tedy místo:

Cells(x + 1, 1).Value = FormatNumber(List1.List(x), 3)

Toto:

Cells(x + 1, 1).Value = "'" & FormatNumber(List1.List(x), 3)

Všem co se snažili poradit děkuji.
Jack

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět 1. dubna 16:05
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.