Makroerweiterung

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox
Bild

Betrifft: Makroerweiterung
von: Rolf
Geschrieben am: 21.11.2003 16:13:26

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
Bild


Betrifft: AW: Makroerweiterung
von: Norman
Geschrieben am: 22.11.2003 11:03:24

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


Bild


Betrifft: AW: Makroerweiterung
von: Rolf
Geschrieben am: 22.11.2003 14:20:11

Vielen Dank Norman

Gruss Rolf


Bild

Beiträge aus den Excel-Beispielen zum Thema " Steuerelement zum festlegen eines Pfades"