2017-04-26 5 views
0

Ich habe eine Makro-Schaltfläche zu einer Form am Ende einer Excel-Tabelle zugewiesen. Es öffnet ein Benutzerformular zum Hinzufügen von Daten zur Tabelle.Verschieben einer Form in die letzte Zeile

Das Problem ist, dass die Form nicht mit jedem neuen Eintrag nach unten bewegt und es schließlich auf den Tisch kommt.

Form wird mit Zellen, sich zu bewegen, aber es gibt keine eingefügt tatsächlichen Zeilen, nur bis zum Ende der Tabelle hinzugefügt Daten ..

Wie kann ich es mit der ersten leeren Zeile mit Excel-VBA bewegen machen ?

+0

Sie sollten sich vor der Anfrage Mühe gezeigt haben. Ich rate dir, [ask] zu lesen. –

+0

Sorry, ich bin kein englischer Muttersprachler, ich hätte das perfekt in meiner Sprache geschrieben. Ihre Änderungen des Textes ergeben für mich nicht viel Sinn ... Danke für die Bearbeitung, und Entschuldigung für die Nichtbeachtung, ich hatte es eilig. –

Antwort

0

Platzieren Sie diesen Code auf einem Standardmodul und rufen Sie nach dem Schreiben der Daten auf dem Blatt diesen Code auf, der die Schaltfläche (Form) in die erste leere Zeile setzt. Ändern Sie es gemäß Ihrer Anforderung.

Sub MoveButton() 
Dim ws As Worksheet 
Dim lr As Long 
Dim buttonCell As Range 
Dim shp As Shape 
Set ws = Sheets("Sheet1") 'Sheet where shape is inserted 
lr = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1 'first empty row in column A 
Set buttonCell = ws.Cells(lr, "A") 'setting the cell where button will be placed 
Set shp = ws.Shapes("myShape") 'name of the shape is "myShape", change it as per your requirement 
'set the shape dimensions 
With shp 
    .Left = buttonCell.Left 
    .Top = buttonCell.Top 
End With 
End Sub 
+0

Aww, Danke. Es funktioniert perfekt –

+0

Gern geschehen, Daniel! Froh, dass es funktioniert hat. – sktneer

Verwandte Themen