Plassere Tekstboks' tekst i et regneark

Excel lar deg plassere alle slags grafiske objekter i regnearket. En type grafikkobjekt faktisk inneholder tekst-en tekstboks. Hvis du har ganske mange tekstbokser i et regneark, lurer du kanskje på om det er en måte å trekke ut teksten fra hver tekstboks og legg den i selve arbeidsarket.

Det er ingen kommando for å gjøre dette; må du i stedet bruke en makro. Følgende makro skritt gjennom hver tekstboks i et regneark og gjør den ønskede utvinning:

Sub ExtractText ()
Dim SHP Som Shape
Dim SLOC As String

For Hver SHP I ActiveSheet.Shapes
Med SHP
Hvis Venstre (.name, 8) = "Text Box" Da
SLOC = .TopLeftCell.Address
Gjør Inntil Range (SLOC) = ""
SLOC = Range (SLOC) .Offset (1, 0) .Address
Loop
Range (SLOC) = .TextFrame.Characters.Text
.Delete
End If
Avslutt med
Neste
End Sub

Siden Excel lagrer alle grafiske figurer i Figurer samling, kan du gå gjennom samlingen og gjøre en beslutning om hvilke former du ønsker å jobbe med. I dette tilfellet er de åtte første tegnene i figurens navn kontrollert. Bare hvis navnet begynner med "Text Box" anser makro formen å være en tekstboks der tekst kan trekkes ut.

Snarere enn sjekk for "Text Box" ordlyden i navnet, kan makroen også sjekke for å se hva slags form blir vurdert. Hvis du foretrekker å gjøre dette, så bare erstatte testlinjen (Hvis Venstre ...) med følgende test linje:

Hvis shp.Type = msoTextBox Deretter

Den SLOC variabel brukes til å lagre plasseringen av tekstboks, som er inneholdt i .TopLeftCell egenskapen. En Do sløyfe blir så brukt til å sørge for at cellen peker til adressen er tom. (Dette hindrer eventuelle eksisterende innholdet i cellen blir overskrevet.) Hvis det ikke er tom, da den har adresse "inkrementert" til neste celle i kolonnen.

Med adressen til en tom celle bestemmes, blir teksten i tekstboks som er lagret i cellen. Den .Delete metoden er så brukt til å kvitte seg med selve tekstboksen.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (2388) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Plassere Tekstboks' Tekst inn i et regneark.