Finne og erstatte i tekstbokser

June 19  by Eliza

David lurer på om det er mulig å bruke Søk og erstatt for å finne og endre tekst i tekstbokser eller i etiketter i diagrammer. Det korte svaret er at det ikke er mulig, men det er flere måter du kan prøve.

Først, kan du enkelt gjøre teksten i tekstbokser eller i diagrammet etiketter dynamisk, slik at det er knyttet til innholdet i enkelte regnearkceller. For eksempel kan du gjøre følgende for tekstbokser:

  1. Kopiere tekst fra hver av tekstbokser til en rekke celler på regnearket. (I dette eksempelet anta at du kopierte innholdet på ti tekstbokser til området Z1:. Z10)
  2. Velg den første tekstboksen (den som tilsvarer celle Z1) og bli kvitt teksten boksens innhold.
  3. Med tekstboksen fortsatt er valgt, skriv følgende inn i formellinjen: = Z1. Når du trykker på Enter, bør tekstboksen reflektere det som er i celle Z1.
  4. Gjenta trinn 2 og 3 for hver av dine andre tekstbokser, med riktig cellereferanse for hver i trinn 3.

Det var det. Du kan bruke samme teknikk med tilpassede diagram etiketter-alt du trenger å gjøre er å velge diagram etikett og angi en cellereferanse i formellinjen. Med tekstboksene og kart etiketter knyttet til regnearkceller, kan du enkelt bruke Finn og erstatt for å søke etter og endre informasjon i cellene. Når endringene er gjort, bør tekstboksene og kart etiketter automatisk gjenspeile endringene i cellene.

Den eneste måten å faktisk endre teksten i en tekstboks eller diagram etiketten er å endre det manuelt, eller endre den ved hjelp av en makro. Koden ville trenger å gå gjennom hver tekstboks i regnearket og deretter gjøre endringen. Følgende er en enkel versjon av en makro som kan gjøre en slik endring.

Sub TextBoxReplace ()
Dim SHP Som Shape
Dim Selges som String
Dim snew As String

'Endre som ønsket
Selges = "Gamle streng"
snew = "Ny streng"
On Error Resume Next
For Hver SHP I ActiveSheet.Shapes
Med shp.TextFrame.Characters
.Text = Application.WorksheetFunction.Substitute (_
.Text, Selges, snew)
Avslutt med
Neste
End Sub

Denne makroen skritt gjennom alle figurene i regnearket (tekstbokser er figurer) og deretter erstatter det som er i den solgte variabel med alt som er i den snew variabel. Anvendelse av den samme teknikk for å kartlegge etiketter er bare litt mer komplisert, slik det er vist i den følgende makro:

Sub ChartLabelReplace ()
Dim Cht Som ChartObject
Dim Ser Som Series
Dim scPt Som Point
Dim Selges som String
Dim snew As String

'Endre som ønsket
Selges = "Gamle String"
snew = "New String"
On Error Resume Next
For Hver Cht I ActiveSheet.ChartObjects
For Hver Ser I Cht.Chart.SeriesCollection
For Hver scPt I Ser.Points
Med scPt.DataLabel
.Text = Application.WorksheetFunction.Substitute (_
.Text, Selges, snew)
Avslutt med
Neste
Neste
Neste
End Sub

Makro skritt gjennom hver data etikett for hver dataserie på hvert kart og (igjen) erstatter alle forekomster av det som er i Selges med alt som er i snew.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (9264) gjelder for Microsoft Excel 2007, 2010, og 2013. Du kan finne en versjon av dette tipset for den eldre menygrensesnittet av Excel her: Finne og erstatte i tekstbokser.