Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1316to1320
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
Textboxen verschieben sich
25.06.2013 11:12:34
Jan
Hallo,
Kampf ich gegen VBA, 1:0 für VBA
Also ich habe mehrere Checkboxen, die aktivert werden können.
WEnn einen aktivert wird, blende ich darunter zeilen ein. Genau in diese Position möchte ich nun auch eine Textbox einblenden. Dazu habe ich bei aktivierten Checkboxen die Textbox an der entsprechenden Position in den eingeblendeten Zeilen positioniert.
Mein Problem:
Ich aktivere eine Checkbox so dass die Textbox eingebendet wird. Dann speicher ich die Excel Datei, schließe sie und öffne Sie dann wieder neu.
Die Textbox ist noch eingeblendet. Wenn ich jetzt jedoch eine Checkbox unterhalb der ersten aktivierten Checkbox aktiviere, blenden die Zeilen ein, aber die Textbox erscheint nicht in diesen Zeilen sondern irgendwo weiter unten. Irgendwie müsste mein Code also so umgeschrieben werden, dass die Textboxen wirklich immer in den eingebldenten Zeilen erscheinen, unabhängig davon, wieviel Checkboxen beim Speichern aktivert waren.
Mein Code (ich weiß der ist mist) sieht aktuell so aus, ich lasse einen Teil aus:
Private Sub UserForm_Activate()
Range("a1").Select
Dim X&
For X = 1 To 9
Me.Controls("Checkbox" & X).Value = Not Rows(X).Hidden
Next
End Sub
Private Sub CheckBox1_Click()
Rows("40:43").EntireRow.Hidden = Not CheckBox1.Value
End Sub
Private Sub CheckBox2_Click()
Rows("47:50").EntireRow.Hidden = Not CheckBox2.Value
End Sub
Private Sub CheckBox3_Click()
Rows("55:58").EntireRow.Hidden = Not CheckBox3.Value
End Sub
Private Sub CheckBox4_Click()
Rows("61:64").EntireRow.Hidden = Not CheckBox4.Value
Private Sub Checkbox1_Change()
If CheckBox1.Value = True Then
TextBox8.Visible = True
Else
TextBox8.Visible = False
End If
End Sub
Private Sub Checkbox2_Change()
If CheckBox2.Value = True Then
TextBox9.Visible = True
Else
TextBox9.Visible = False
End If
End Sub
Private Sub Checkbox3_Change()
If CheckBox3.Value = True Then
TextBox1.Visible = True
Else
TextBox1.Visible = False
End If
End Sub
Private Sub Checkbox4_Change()
If CheckBox4.Value = True Then
TextBox2.Visible = True
Else
TextBox2.Visible = False
End If
End Sub

Kann mir hier bitte einer weiterhelfen. Ich krieg echt die Krise.
VIelen Dank!!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textboxen verschieben sich
25.06.2013 11:22:46
Klaus
Hallo Jan,
statt dagegen zu kämpfen, überliste es. Kopier dir folgenden Codefetzen unter deinen Code.
Sub MoveObject(sName As String, sWks As String, sCell As String)
Dim rng As Range
Set rng = Sheets(sWks).Range(sCell)
With Sheets(sWks).OLEObjects(sName)
.Top = rng.Top
.Left = rng.Left
.Width = rng.Width
.Height = rng.Height
End With
End Sub
Mit diesem Code packst du ein Objekt an und setzt es exakt in eine Zellenposition. Deine Checkboxen überarbeitest du so:
Private Sub Checkbox1_Change()
If CheckBox1.Value = True Then
TextBox8.Visible = True
Call MoveObject("TextBox8", Activesheet.Name, "A40:C43")
Else
TextBox8.Visible = False
End If
End Sub
Jetzt wird, sobald CheckBox1, die TextBox8 genau an die Größe der Zellen A40:C43 angepasst.
Musst du ein bisschen mit rumspielen bis es so wird wie du es haben willst, aber der Weg ist glaube ich klar. Bitte keine verbundenen Zellen benutzen, dann klappt das nicht!
Mein Code (ich weiß der ist mist) sieht
Daraus lese ich: Du möchtest den Code so verwenden wie er ist, weil du ihn verstehst und nachvollziehen kannst. Das verstehe und akzeptiere ich und verkneife mir deshalb die möglichen Verkürzungen.
Grüße,
Klaus M.vdT.

Anzeige
Ach so, bist du ...
25.06.2013 11:24:25
Klaus
... der gleiche Jan, der schon hier
https://www.herber.de/forum/messages/1319518.html
nach Checkboxen / Zeilen gefragt hat?
Über eine Rückmeldung im alten Thread hätte ich mich gefreut.
Grüße,
Klaus M.vdT.

AW: Textboxen verschieben sich
25.06.2013 11:30:30
GuentherH
Hallo Jan,
Die Frage ist ob Du den Fight selbst ausfechten willst, mit dem Forum als Coach, oder lieber das Forum in den Ring schickst.
In letzterm Fall lädst Du besser Deine Datei hoch - aber nur mit Musterdaten,
für erstern: wozu sind dort Textboxen? Die passen doch gar nicht zu Deinem Problem von vorher!
Vielleicht solltest Du es mit Zellformaten und Zelleinträgen lösen.
Beste Grüße,
Günther

Anzeige
AW: Textboxen verschieben sich
25.06.2013 13:25:48
Jan
Hallo,
Ja ich bin der selbe Jan;-)
Ich habe auf die andere Frage noch kein Feedback gegeben, weil ich irgendwie jetzt zuerst an diesem Problem hängen geblieben bin.
Vielen Dank aber für eure Antworten.
Ich habe den Code eingebaut, funktioniert auch soweit bis auf ein (leider wichtiges) Detail).
Wenn ich folgenden Code eingebe:
Private Sub Checkbox1_Change()
If CheckBox1.Value = True Then
TextBox8.Visible = True
Call MoveObject("TextBox8", ActiveSheet.Name, "B40:G43")
Else
TextBox8.Visible = False
End If
End Sub
dann sollte sich doch meiner Meinung nach Textbox 8 über die Zellen B40 bis G43 erstrecken. Dies ist aber leider nicht der Fall. Die Textbox wird bei Aktivierung der Checkbox mit irgendeiner anderen Größe angezeigt.
Hängt das irgendwie mit diesem Part zusammen:
Sub MoveObject(sName As String, sWks As String, sCell As String)
Dim rng As Range
Set rng = Sheets(sWks).Range(sCell)
With Sheets(sWks).OLEObjects(sName)
.Top = rng.Top
.Left = rng.Left
.Width = rng.Width
.Height = rng.Height

Anzeige
AW: Textboxen verschieben sich
25.06.2013 13:30:41
Klaus
Hallo Jan,
bitte bleib doch in der Ast-Struktur und antworte mir direkt auf meine Beiträge. In diesem Fall hast du dir selber geantwortet, dadurch ist die Diskussion nicht mehr flüssig lesbar.
Die Textbox wird bei Aktivierung der Checkbox mit irgendeiner anderen Größe angezeigt.
Bei mir nicht. Ergo: du machst es falsch :-)
In deinem Code sehe ich keinen Fehler. Lad bitte die Datei oder den relevanten Teil der Datei hoch, damit ich/wir uns das genauer ansehen können!
(verbundene Zellen im Bereich vorhanden?)
Grüße,
Klaus M.vdT.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige