Ved hjelp av Finn og erstatt til Pre-Pend tegn

October 19  by Eliza

Mel ønsker ofte å forhånds an et tegn til begynnelsen av det som er i et område med celler. For eksempel kan han ønsker å legge et brev til starten av en tekst (slik at "123" blir "A123" og "xyz" blir "AXYZ") eller han kan være lurt å legge inn en apostrof (så "123" blir "' 123 "og" xyz "blir" 'xyz "). Mel lurer på om dette kan gjøres ved hjelp av Finn og erstatt.

Det korte svaret er at det ikke kan. Søk og erstatt evner i Excel er mer begrenset enn i Word, der du har muligheten til å søke etter jokertegn og bruke "Finn hva" tekst i det som er skiftet ut. (Dette er bare to eksempler på funksjoner som mangler i Excel Søk og erstatt.)

En mulig svar, da, er å kopiere data over til Word, bruke Finn og erstatt for å gjøre endringene, og deretter kopiere dataene tilbake. Selvfølgelig, du kjører risikoen for å miste formatering i rundturen, å miste noen av presisjon, og konvertere alle dine formelresultater til statiske verdier. For mange brukere, disse er ikke akseptabel risiko.

Et annet alternativ er å bruke sammenkjedingsoperatorer mulighetene i Excel. For eksempel, hvis de verdiene du ønsker å pre-anheng er i kolonne A (begynner med A1), så ville du bruke en formel som dette er kolonne B:

= "A" og A1

Resultatet før, avhenger i høy bokstaven A til alt som er i A1. Dette fungerer for pre-påvente noe annet enn en apostrof. Prøver å forhånds an en apostrof ender opp med "123 eller" xyz, men apostrof er synlig i cellen. Resultatet er ikke det samme, til Excel, som å skrive en apostrof etterfulgt av 123 eller en apostrof etterfulgt av xyz. (Når det gjelder å skrive, indikerer apostrof celleinnholdet skal behandles som tekst og apostrof er bare synlig i formellinjen, ikke i cellen seg selv.)

Hvis du faktisk ønsker å endre verdiene i en rekke celler (som et ønske om å bruke Finn og erstatt ville foreslå), så det eneste du kan gjøre er å bruke en makro til å gjøre endringer. Hvis du bare vil forhånds-Pend celler som begynner med et sett verdi (for eksempel 123) med en bokstav (for eksempel A), deretter en enkel makro vil være nok.

Sub Prepend1 ()
Tofind = "123"
ToFindLength = Len (tofind)
ToPrepend = "A"

For Hver Rceii i utvalg
Hvis LCase (Mid (rcell.Value, 1, ToFindLength)) = LCase (tofind) Deretter
rcell.Value = ToPrepend & rcell.Value
End If
Neste
End Sub

Merk at tofind variabelen inneholder begynnelsen teksten du ønsker å pre-anheng og ToPrepend variabelen inneholder hva du vil skal vises før strengen. I dette tilfellet, vil når du velger et område med celler og kjøre makroen, alt som begynner med 123 (for eksempel "123" eller "12345" eller "123D27X") har bokstaven A lagt til forsiden av cellen.

Slik makro hjelper ikke, men når du ønsker å legge brevet til forsiden av hver celle i området, ikke bare de som begynner med 123. I så fall trenger du en annen tilnærming.

Sub Prepend2 ()
Dim RNG Som Range
Dim c Som Range
Dim ToPrepend As String

ToPrepend = "A"

'Prosess bare tekst og nummer konstanter
Satt RNG = Selection.SpecialCells (xlCellTypeConstants, 3)

For hver c I RNG
c.Value = ToPrepend & c.Value
Neste c
End Sub

Denne makro tar en undergruppe av celler hva man valgt før kjører den (bare de celler som inneholder tekst og numeriske verdier), og deretter tilfører innholdet i ToPrepend variabelen til starten av cellen. Hvis du ønsker å endre hva som er pre-Holdte, rett og slett endre verdien av variabelen. (Det bør bemerkes at hvis du endrer ToPrepend til en apostrof, deretter cellene som apostrof er pre-Holdte oppfører seg akkurat som om du hadde skrevet og apostrof etterfulgt av celleverdien.)

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (12239) gjelder for Microsoft Excel 2007 og 2010. Du kan finne en versjon av dette tipset for den eldre menygrensesnittet av Excel her: Bruke Finn og erstatt til Pre-Pend tegn.