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
3980
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
Karhuryhmä
Kellään tarkempaa tietoa miksi ja missä karhuryhmä ollut? Perheväkivaltaa vai huumeperintää kenties taas?293518- 973236
Raisionkaaren koira hyökkäys
Taas nähtiin että koiriin ei voi luottaa. Eilen illalla vapaana ollut koira hyökkäsi Raisionkaarella kolmen henkilön kim823059- 763054
"Mielipide: Äärivasemmiston uhka on otettava vakavasti"
Demokratia näyttäisi olevan Halla-aholle enemmänkin välttämätön paha kuin tavoiteltava asia. Väkivallan ihannointi ja m552939Tapa jolla kohtelit minua viimeksi miellytti erityisesti
Osaat huomioida kauniisti ja katsot aina tilanteita yhteisen hyvän kannalta. Sitä arvostan erityisesti.862698- 352510
- 572371
Satuit vain olemaan
Ensimmäinen joka avasi minussa sen nähdyksi ja rakastetuksi tulemisen puolen. Pitäisi vain muistaa että et ole ainoa. Se432255- 882022