Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makroerweiterung

Makroerweiterung
21.11.2003 16:13:26
Rolf
Hallo Excelprofis,

noch mal danke für die Anregungen von gestern.

Folgendes Makro funktioniert gut, möchte es aber erweitern.
Kurze Funktionsbeschreibung:
Aus einem Textfeld wird der Inhalt ausgelesen und in die Zelle A1 übergeben.
Bei jedem Neudurchlauf wird die nächste Zelle beschrieben (A1, A2, A3...)
und der Inhalt des Textfeldes gelöscht.

Meine Frage: Ich möchte mehrere Textfelder benutzen mit der gleichen Funktion
nur jeweils andere Zellen (B1...) , C1...).
Wie kann man diese Funktion in das Makro einbauen so das alle Textfelder
abgefragt werden. Wenn nicht möglich müßte ich jedes Textfeld ein eigenes
Marko zuweisen, aber wie kann ich dann die einzelnen Makros automatisch
nacheinander ablaufen lassen.


Sub Box2Txt()
Set oTxt = ActiveSheet.TextBoxes(1)
For iCounter = 1 To oTxt.Characters.Count Step 250
sTxt = sTxt & oTxt.Characters( _
Start:=iCounter, _
Length:=250).Text
Next iCounter
Range("A65536").End(xlUp).Offset(1, 0).Value = sTxt
ActiveSheet.Shapes("Text Box 2").Select
Selection.Characters.Text = ""
End Sub


Vielen Dank im voraus
Rolf

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makroerweiterung
22.11.2003 11:03:24
Norman
Hi Rolf,

folgende Idee:


Sub Box2Txt()
Dim spalte as long
for spalte = 1 to 10   ' Wenn Du 10 Spalten hättest
Set oTxt = ActiveSheet.TextBoxes(spalte)
For iCounter = 1 To oTxt.Characters.Count Step 250
sTxt = sTxt & oTxt.Characters( _
Start:=iCounter, _
Length:=250).Text
Next iCounter
Cells(65536, spalte).End(xlUp).Offset(1, 0).Value = sTxt
ActiveSheet.Shapes("Text Box " & spalte + 1).Select  ' Das klappt aber nur, wenn alle Textboxes durchlaufend nummeriert sind! Musst du für sorgen! (siehe unten)
Selection.Characters.Text = ""
next spalte
End Sub


Nochmal zu "Text Box " & spalte + 1:
Falls nicht alle Textboxes durchlaufend nummeriert sind, würde ich Dir raten, ein kleines Text-Array anzulegen, das alle Namen der Shapes der Reihe nach enthält und dass Du dann die indirekt ActiveSheet.Shapes(TextBoxNames(spalte)).Select adressierst.

Viel Spass
Norman
Anzeige
AW: Makroerweiterung
22.11.2003 14:20:11
Rolf
Vielen Dank Norman

Gruss Rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige