dpaton05
Well-known Member
- Joined
- Aug 14, 2018
- Messages
- 2,375
- Office Version
- 365
- 2016
- Platform
- Windows
I have a procedure that moves some buttons. They need to be moved to just below the bottom of the last entry in column A.
I get an error saying invalid qualifier and the lRow on the 9th line is highlighted.
I had this code:
Could someone help me please?
I get an error saying invalid qualifier and the lRow on the 9th line is highlighted.
I had this code:
VBA Code:
Sub Move_Shape()
Dim Total As Range, ws As Worksheet, Sh As Shape, NewShape As Shape, x As Long
Dim TTop As Long, TLeft As Long, txtMainExists As Boolean, lRow As Long
Set ws = ThisWorkbook.Worksheets("ACA_Quoting")
'Find last row in column A after rows have been copied and add 1 row
lRow = Cells(Rows.Count, "A").End(xlUp).Row + 1
'Set the position of the top of 1 row below the last row in column A
x = lRow.top
For Each Sh In ws.Shapes
Debug.Print Sh.Type
Select Case Sh.Name
Case "cmdAddRatio", "cmdCustomSign", "cmdGsign", "cmdAsign", "cmdNoSign", "cmdSaveToPdf"
Sh.IncrementTop x
Case "txtMain" 'name your first textbox, the one you want to move, to something unique. I used "txtMain"
txtMainExists = True
TTop = Sh.Top 'record position
TLeft = Sh.Left
Sh.IncrementTop x
Sh.Copy 'make a copy
ws.Paste
Set NewShape = ws.Shapes(ws.Shapes.Count) 'pasted textbox is the last shape
With NewShape
.Top = TTop 'move the copy to the previous position of txtMain
.Left = TLeft
.OLEFormat.Object.Object.Text = .Name & " (a copy of txtMain)"
End With
End Select
Next Sh
If Not txtMainExists Then
MsgBox "txtMain is missing!", vbCritical
End If
End Sub
Could someone help me please?