Hei,
jälleen tarvitsisin teidän apuanne! Minulla on kyselylomaketietoja, jossa kysytään puhelinnumero. Kuitenkin ohjelmassa tuohon kenttään on mahdollista syöttää myös tekstiä, joten kun siirrän lomakkeen tiedot Exceliin, pitää minun käsin poistaa nuo tekstit pois käsin soluista. Osaisiko joku kertoa makron, jolla saisin nuo tekstit numeroiden seasta näppärästi pois?
Jatkokysymys: kun olen saanut tekstit pois, on Excel poistanut niistä puhelinnumeroista, joissa ei ole tekstiä, pois etunollan. Miten saisin nuo nollat sitten taas takaisin?
Tekstin poistaminen solusta ja nollan lisääminen
6
4186
Vastaukset
- Kundepuu
Ensinnäkin kun tuot tiedot Exceliin käytä tuontivelhoa apuna ja määritä kaikki kentät tekstiksi, jolloin etunollatkin säilyvät.
Allaolevalla koodilla putsaat tekstit pois. Valitse solut mitkä haluat putsata ja suorita makro.
Jos tuotava tiedoston rakenne on aina sama, niin makrollahan sen voi sitten tehdä kertalaakista, mutta antamallasi tiedoilla en voi enempää auttaa ;-)
tavalliseen moduuliin...
Sub Putsaa()
Dim solu As Range
With CreateObject("VBScript.Regexp")
.Global = True
.Pattern = "\D "
For Each solu In Selection
solu.Value = .Replace(solu.Value, "")
Next
End With
End Sub
Keep EXCELing
@Kunde - funk.tio
Yksi tapa on käyttää funktiota. Tuota vähän viilaamalla saisi lisäominaisuuksiakin, esim. ensimmäisen -merkin voisi sallia, jos kirjoitettu puhelinnumero on kansainvälisessä muodossa tjsp.
Tätä funktiota käytetään siis näin:
=Poistamerkit("å1 ä2=ö3")
joka palauttaa: 123
Function Poistamerkit(merkkijono As String) As String
Dim paluujono As String
Dim i As Integer
paluujono = ""
For i = 1 To Len(merkkijono)
If Mid(merkkijono, i, 1) >= "0" And Mid(merkkijono, i, 1) <= "9" Then
paluujono = paluujono Mid(merkkijono, i, 1)
End If
Next
Poistamerkit = paluujono
End Function - exceliinapua
Kiitos, mahtavaa apua olen saanut taas! Kunden Makroa voisin käyttää, kun ei tule siis minun käyttöön vaan toiselle henkilölle jota autan tämän toteuttamisessa. Tuotavan tiedoston rakenne on aina sama, eli voisi ilman tuota sarakevalintaa toteuttaa, mutta apua, miten? On kyllä ressi kun ei näinkään pientä juttua osaa itse toteuttaa... no jospa sitä tässä oppii kokoajan :)
- exceliinapua
Lisäyksenä vielä noihin etunolliin, tuontivelhon käyttö ei taida olla mahdollista, sillä kyselyohjelmassa, josta tiedot tuodaan exceliin, valitaan vain .csv ja sen jälkeen tiedot avautuvat tuosta ohjelmasta Exceliin. Eli velhon käyttö välissä ei onnistu, mielestäni.
- exceliinapua
Ja VIELÄ tuli mieleen, että saisikohan tuon nollaongelman ratkaistua sillä, että lisäisi aina nollan alkuun JOS luku ei jo ala nollalla? Tai JOS luvun alussa on 358, sen kumoaisi nollalla...? En kyllä tiedä miten tuon makrolla toteuttaisi.
- dblclick
exceliinapua kirjoitti:
Lisäyksenä vielä noihin etunolliin, tuontivelhon käyttö ei taida olla mahdollista, sillä kyselyohjelmassa, josta tiedot tuodaan exceliin, valitaan vain .csv ja sen jälkeen tiedot avautuvat tuosta ohjelmasta Exceliin. Eli velhon käyttö välissä ei onnistu, mielestäni.
Jos tarkoitus on aukaista .csv tiedosto tuplaklikkaamalla, niin yksi tapa on käyttää PowerShell-skriptiä.
Ohje esimerkiksi tuolla kohdassa "PowerShell script to open CSVs direct from Windows Explorer" http://superuser.com/questions/307496/how-can-i-set-excel-to-always-import-all-columns-of-csv-files-as-text
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 903914
Kalasataman talossa lienee rakennusvirhe
Ei pitäisi olla mahdollista parvekkeen kautta tulipalon kiivetä katolle saakka kuin korkeintaan ylimmästä kerroksesta.1991518- 761400
Kristillinen Kaste on syntisten kaste, ei itsensä uskoviksi julistaneiden kaste
Raamatun mukaan vain syntisyyden vuoksi kastetut saavat kasteen hyödyn, syntien anteeksisaamisen ja Pyhän Hengen lahjan2401100Kaipaatko nainen
Semmoista tosi hankalaa ja arkaa miestä? Pitäisitkö hänet aina omanasi jos saisit hänet? Miten huomioisit hänen herkkyyd1051040Venäjä teki mahtavan iskun Kiovaan?
Miksi Ukraina ei kykene tekemään Moskovaan yhtä mahtavia iskuja.3261023- 47949
Nojatuoli !
Uutta kehiin, kun edellinen pikavauhtia täyttyi, pitäisikö kiittää näitä asian jouduttaneita? Pilvet leijaa, sadetta en132920Milloin ymmärsit
Milloin tunnistit, että sinulle kirjoitetaan ja kuka kirjoittaa? Tarkka päivämäärä ja kellonaika 😉 Önnönnöö, jos ei os86919- 98899