Forum » Programiranje » EXCEL-VISUALBASIC
EXCEL-VISUALBASIC
KROKARR ::
Moj problem je sledeč:Iz interneta (yahoo) lahko uvozim-skopiram podatek z (opero) v polje excela v obliki recimo 113.5B ali 113,5B. Excel ga prepozna kot text in ga prikaže na levem robu excel. okna.
Ta podatek sedaj moram prevesti v število torej 113.5 ali 113,5 vendar to znam narediti samo ročno, z delite odstranim črko B.
Če je teh podatkov na stotine je to nekoliko mučno.
V vizual basicu ali z makrojem bi šlo lažje (cut-past, vmes pa transformacija-zbrisan B nakoncu).
Ali pozna kdo kako elegantno in delujočo rešitev (po možnosti za več označenih podatkov hkrati).
pozdravi.
Ta podatek sedaj moram prevesti v število torej 113.5 ali 113,5 vendar to znam narediti samo ročno, z delite odstranim črko B.
Če je teh podatkov na stotine je to nekoliko mučno.
V vizual basicu ali z makrojem bi šlo lažje (cut-past, vmes pa transformacija-zbrisan B nakoncu).
Ali pozna kdo kako elegantno in delujočo rešitev (po možnosti za več označenih podatkov hkrati).
pozdravi.
krofko ::
Če imaš samo za odstraniti črko B, ki je vedno na zadnjem mestu, potem lahko to narediš s funkcijo
=LEFT. Npr. podatek imaš v polju A1. Postaviš se na polje B1 in pritisneš + ali = za vnos formule. Sedaj vneseš v celico B1
=LEFT(A1;LEN(A1)-1)in formulo skopiraš po vseh vrsticah.
KROKARR ::
Z macrojem je preprosto, ampak... a ni še preprosteje naredit običajen Replace?
Z REPLACE se mi ni posrečilo saj je potrebno določiti mesto znaka, ki je vedno drugačno.
V dveh korakih z SUBSTITUTE, ki menja B z "presledkom" in VALUE, ki iz teksta naredi število pa mi je uspelo dobiti decimalna števila.
Hvala.
KROKARR ::
Če imaš samo za odstraniti črko B, ki je vedno na zadnjem mestu, potem lahko to narediš s funkcijo=LEFT. Npr. podatek imaš v polju A1. Postaviš se na polje B1 in pritisneš + ali = za vnos formule. Sedaj vneseš v celico B1=LEFT(A1;LEN(A1)-1)in formulo skopiraš po vseh vrsticah.
Tudi to sem probal in deluje, tudi tu v drugem koraku uporabim VALUE, da dobim število.
Hvala, ponovno.
bm0267 ::
z value ti bo delovalo......greš znak po znak v celici preverjat z makrojem, in preglejuješ če je beseda ali številka (izjemo moraš naredit vejice oz. pike), in potem sestavljaš neko drugo spremenljivko, ki jo nato vpišeš namesto stare vrednosti v celico.....
kao....
for i = 1 to len(Range("B2").value)
next i
kao....
for i = 1 to len(Range("B2").value)
next i
BoSko
bm0267 ::
z value ti bo delovalo......greš znak po znak v celici preverjat z makrojem, in preglejuješ če je beseda ali številka (izjemo moraš naredit vejice oz. pike), in potem sestavljaš neko drugo spremenljivko, ki jo nato vpišeš namesto stare vrednosti v celico.....
kao....
tekst=Range("B2").value
tekst_novi=""
for i = 1 to len(tekst)
if(mid(tekst, i,1)<>0 then //če je val funcija različna od nič...pomeni ta je ta znak število
tekst_novi=tekst_novi & mid(tekst, i,1)
end if
//potrebno je še samo upoštevati izjeme za ",","." in "0" in je to to
if(mid(tekst, i,1)="," then
tekst_novi=tekst_novi & mid(tekst, i,1)
end if
next i
kao....
tekst=Range("B2").value
tekst_novi=""
for i = 1 to len(tekst)
if(mid(tekst, i,1)<>0 then //če je val funcija različna od nič...pomeni ta je ta znak število
tekst_novi=tekst_novi & mid(tekst, i,1)
end if
//potrebno je še samo upoštevati izjeme za ",","." in "0" in je to to
if(mid(tekst, i,1)="," then
tekst_novi=tekst_novi & mid(tekst, i,1)
end if
next i
BoSko
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | pomoč v excelu (strani: 1 2 )Oddelek: Programiranje | 9150 (3479) | omni-vor |
» | C# povezava forma in classaOddelek: Programiranje | 2364 (1827) | Miko55 |
» | Calc/excel delo s tabeloOddelek: Programiranje | 1467 (1234) | salabajs |
» | excel+visual basicOddelek: Pomoč in nasveti | 1569 (1456) | švrk |
» | Visual Basic in ExcelOddelek: Programiranje | 2689 (2255) | Vesoljc |