Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

linke Position Textfeld per VBA

Forumthread: linke Position Textfeld per VBA

linke Position Textfeld per VBA
siegfried
Hallo zusammen
ich möchte ein Textfeld in Abhängigkeit einer Zielspalte per VBA positionieren.
Die Zielspalte ist von Fall zu Fall verschieden und ebenso die Breiten der jeweils vorausgehenden Spalten.
Wenn ich die Breiten der vorausgehenden Spalten addiere und diesen Wert für die linke Position nehme, wird mein Textfeld zwar unterschiedlich plaziert aber immer zu weit nach rechts.
Gibt es einen Umrechnungsfaktor oder eine Möglichkeit das Textfeld unmittelbar in die Zielspalte zu setzen?
Gruß Siegfried
Anzeige

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

Betreff
Benutzer
Anzeige
AW: linke Position Textfeld per VBA
30.08.2011 19:02:24
Uduuh
Hallo,
du musst nichts addieren.
Textbox1.Left=Columns(3).Left
wenn C deine Zielspalte ist.
Gruß aus’m Pott
Udo

AW: linke Position Textfeld per VBA
30.08.2011 19:17:55
siegfried
Danke Uduuh
so klappts
Gruß siegfried
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Positioniere ein Textfeld in Excel per VBA


Schritt-für-Schritt-Anleitung

Um ein Textfeld in Excel per VBA zu positionieren, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne die Excel-Datei, in der Du das Textfeld positionieren möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.

  4. Kopiere und füge den folgenden Code in das Modul ein:

    Sub PositioniereTextfeld()
       Dim Zielspalte As Integer
       Zielspalte = 3 ' Ändere dies auf die gewünschte Zielspalte
       ActiveSheet.TextBoxes("Textbox1").Left = Columns(Zielspalte).Left
    End Sub
  5. Ändere die Variable Zielspalte, um die Spalte zu wählen, in der das Textfeld positioniert werden soll.

  6. Führe das Makro aus, indem Du auf F5 drückst oder über das Menü "Ausführen" gehst.

Dies sollte das Textfeld direkt in die Zielspalte positionieren, ohne dass Du die Breiten der vorausgehenden Spalten addieren musst.


Häufige Fehler und Lösungen

  • Problem: Das Textfeld wird nicht an der gewünschten Position angezeigt.
    Lösung: Stelle sicher, dass der Name des Textfeldes im Code korrekt ist (z.B. "Textbox1").

  • Problem: Der Code funktioniert nicht in Excel-Versionen vor 2010.
    Lösung: Überprüfe, ob Du eine aktuelle Version von Excel verwendest, da einige VBA-Funktionen in älteren Versionen möglicherweise nicht verfügbar sind.


Alternative Methoden

Falls Du VBA nicht verwenden möchtest, kannst Du auch die folgenden Methoden ausprobieren:

  • Manuelles Positionieren: Klicke auf das Textfeld und ziehe es an die gewünschte Position.
  • Formelbasierte Anpassung: Nutze Excel-Formeln, um die Position des Textfeldes zu steuern. Dies erfordert jedoch eine manuelle Aktualisierung, wenn sich die Daten ändern.

Praktische Beispiele

  1. Positioniere mehrere Textfelder:

    Sub PositioniereMehrereTextfelder()
       Dim i As Integer
       For i = 1 To 5
           ActiveSheet.TextBoxes("Textbox" & i).Left = Columns(i).Left
       Next i
    End Sub
  2. Dynamische Zielspalte:

    Sub PositioniereTextfeldDynamisch()
       Dim Zielspalte As Integer
       Zielspalte = ActiveSheet.Range("A1").Value ' Zielspalte aus Zelle A1
       ActiveSheet.TextBoxes("Textbox1").Left = Columns(Zielspalte).Left
    End Sub

Tipps für Profis

  • Nutze Variablen: Verwende Variablen für die Zielspalte, um Deinen Code flexibler und lesbarer zu gestalten.
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Probleme während der Ausführung des Makros zu vermeiden. Beispiel:

    On Error Resume Next
    ActiveSheet.TextBoxes("Textbox1").Left = Columns(Zielspalte).Left
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie benenne ich ein Textfeld in Excel?
Du kannst ein Textfeld auswählen, in die Formateinstellungen gehen und den Namen im Feld "Name" ändern.

2. Welche Excel-Version benötige ich für VBA?
VBA ist in Excel-Versionen ab Excel 97 verfügbar, aber es wird empfohlen, eine neuere Version wie Excel 2010 oder höher zu verwenden, um die besten Funktionen zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige