Avatar billede gibber Nybegynder
15. oktober 2004 - 09:06 Der er 9 kommentarer og
2 løsninger

Overføre teksten fra 2 tekstbokse til 1 teksboks

Jeg har 2 tekstbokse: Shapes("Text Box 1") og Shapes("Text Box 2")

Hvordan overfører man teksten fra begge to til Shapes("Text Box 3")?

Jeg kan forstå at en tekstboks i excel ikke gemmer teksten som en streng, men derimod som karakterer. Men jeg kan ikke rigtigt få det til at fungere.
Avatar billede japping Nybegynder
15. oktober 2004 - 09:33 #1
Du indtaster følgende i textbox'ens procedure/VBA-kode:
TextBox3.Text = TextBox2.Text + TextBox1.Text
Når du så eksekverer denne kode lægges teksten sammen.
Avatar billede bak Forsker
15. oktober 2004 - 09:57 #2
en anden ide uden vba er at gøre brug af de 3 linkedcell (lænkede celler), de virker nemlig begge veje.
Hvis Shapes("Text Box 1") linkedcell er A1 og Shapes("Text Box 2") er A2 og Shapes("Text Box 3") er A3, så skriv denne formel i A3
=A1 & A2
Nu vil Shapes("Text Box 3") automatisk blive udfyldt med en sammenkædning af de to andre
Avatar billede gibber Nybegynder
15. oktober 2004 - 09:58 #3
Japping, det duer kun hvis det er en kontrolelement-tekstboks og ikke en excel-tekstboks. Kontrolelement-tekstboks har jeg bevidst valgt ikke at bruge idet den ikke er særlig brugervenlig med hensyn til linieskift (ctrl+enter).

Jeg ønsker at merge 2 excel-tekstbokse af typen Shapes
Avatar billede japping Nybegynder
15. oktober 2004 - 10:39 #4
gibber:
Jeg har kun een type tekstboks. Hvor finder jeg denne Shapes-type som du omtaler ?
Avatar billede sjap Praktikant
15. oktober 2004 - 10:42 #5
Den her bruges for rektangler, men kan vel også bruges i tekstbokse (?):

ActiveSheet.Shapes("Rectangle 3").TextFrame.Characters.Text = ActiveSheet.Shapes("Rectangle 1").TextFrame.Characters.Text & ActiveSheet.Shapes("Rectangle 2").TextFrame.Characters.Text
Avatar billede sjap Praktikant
15. oktober 2004 - 10:50 #6
Det lykkedes mig så alligevel at finde kommandoen til tekstbokse. Jeg kunne ikke finde ud af at "Textbox" SKAL kaldes "Text Box" - så jeg måtte ty til "indspil makro" til sidst - UHA!

ActiveSheet.Shapes("Text Box 3").TextFrame.Characters.Text = ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text & ActiveSheet.Shapes("Text Box 2").TextFrame.Characters.Text

Husk lige at rette de respektive numre (3, 1 og 2) til numrene i din applikation (dem kan man vist ikke selv bestemme).
Avatar billede bak Forsker
15. oktober 2004 - 10:54 #7
alt for langsom, men skulle også lige lægge nogle fliser :-)

Sub Sammen()
Dim a As Shape, b As Shape, c As Shape
Set a = ActiveSheet.Shapes("Tekstboks 1")
Set b = ActiveSheet.Shapes("Tekstboks 2")
Set c = ActiveSheet.Shapes("Tekstboks 3")
c.TextFrame.Characters.Text = a.TextFrame.Characters.Text & b.TextFrame.Characters.Text
End Sub
Avatar billede gibber Nybegynder
15. oktober 2004 - 13:12 #8
Det virker som forventet - tak for hjælpen gutter.
Avatar billede gibber Nybegynder
15. oktober 2004 - 13:13 #9
sjap og bak hvis i smider et svar så kan i få point. Sjap får 90 og bak for 30....Hvis det er ok med jer.
Avatar billede sjap Praktikant
15. oktober 2004 - 13:39 #10
Jeg brokker mig jo ikke :0)

gibber > der kan måske godt gå lidt tid inden bak svarer - måske er han kommet i klemme under en flise? Den slags hårdt arbejde kan være farligt for os blødvare-folk, ;0)
Avatar billede bak Forsker
15. oktober 2004 - 19:58 #11
ok, ok her er et svar :-)
jeps det er hårdt, så nu vil jeg drikke nogle øl .......
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester