Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jack
Člen
Avatar
Jack:20.3.2016 18:57

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.3.2016 18:57
Avatar
Odpovídá na Jack
Michal Štěpánek:21.3.2016 6:48

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.3.2016 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:21.3.2016 15:37

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.3.2016 15:37
Avatar
cmuch
Člen
Avatar
cmuch:22.3.2016 6:11

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.3.2016 6:11
Avatar
Jack
Člen
Avatar
Jack:22.3.2016 10:46

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.3.2016 10:46
Avatar
Odpovídá na Jack
Michal Štěpánek:22.3.2016 10:49

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.3.2016 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:22.3.2016 11:03

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

 
Nahoru Odpovědět
22.3.2016 11:03
Avatar
cmuch
Člen
Avatar
Odpovídá na Jack
cmuch:30.3.2016 8:19

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

 
Nahoru Odpovědět
30.3.2016 8:19
Avatar
Jack
Člen
Avatar
Jack:1.4.2016 16:05

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.4.2016 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.