Delete row on another sheet from a userform

ipbr21054

Well-known Member
Joined
Nov 16, 2010
Messages
5,832
Office Version
  1. 2007
Platform
  1. Windows
Hi,

I am on workssheet called DATABASE & currntly have a userform open.
Once the user has entered all the values in the fields he will use the command button to First delete the Active row on worksheet QUOTES then continue down through the code to apply userform values to worksheet called DATABASE.

I have clicked the command button expecting the active cell / row to be deleted & the rows below to move up then the userform values are sent to worksheet DATABASE.
I see a run timr error saying this process is not supported .

So i have typed something wrong BUT then not sure what code needs to follow after anyway ?





VBA Code:
Private Sub CommandButton1_Click()
   Dim answer As Integer
       answer = MsgBox("DELETE CUSTOMER ON QUOTES SHEET ? ", vbYesNo + vbCritical)
   If answer = vbYes Then
      ThisWorkbook.Sheets("QUOTES").ActiveCell.EntireRow.Delete xlUp
      MsgBox "CUSTOMER HAS NOW BEEN DELETED", vbInformation
      End If
 
  With ThisWorkbook.Worksheets("DATABASE")
 
    ThisWorkbook.Worksheets("DATABASE").Range("B6") = Me.ComboBox1.Text ' REGISTRATION NUMBER
    ThisWorkbook.Worksheets("DATABASE").Range("C6") = Me.ComboBox2.Text ' BLANK USED
    ThisWorkbook.Worksheets("DATABASE").Range("D6") = Me.ComboBox3.Text ' VEHICLE
    ThisWorkbook.Worksheets("DATABASE").Range("E6") = Me.ComboBox4.Text ' BUTTONS
    ThisWorkbook.Worksheets("DATABASE").Range("F6") = Me.ComboBox5.Text ' ITEM SUPPLIED
    ThisWorkbook.Worksheets("DATABASE").Range("G6") = Me.ComboBox6.Text ' TRANSPONDER CHIP
    ThisWorkbook.Worksheets("DATABASE").Range("H6") = Me.ComboBox7.Text ' JOB ACTION
    ThisWorkbook.Worksheets("DATABASE").Range("I6") = Me.ComboBox8.Text ' PROGRAMMER USED
    ThisWorkbook.Worksheets("DATABASE").Range("J6") = Me.ComboBox9.Text ' KEY CODE
    ThisWorkbook.Worksheets("DATABASE").Range("K6") = Me.ComboBox10.Text ' BITING
    ThisWorkbook.Worksheets("DATABASE").Range("L6") = Me.ComboBox11.Text ' CHASIS NUMBER
    ThisWorkbook.Worksheets("DATABASE").Range("N6") = Me.ComboBox12.Text ' VEHICLE YEAR
    ThisWorkbook.Worksheets("DATABASE").Range("R6") = Me.TextBox1.Text ' ADDRESS 1st LINE
    ThisWorkbook.Worksheets("DATABASE").Range("S6") = Me.TextBox2.Text ' ADDRESS 2nd LINE
    ThisWorkbook.Worksheets("DATABASE").Range("T6") = Me.TextBox3.Text ' ADDRESS 3rd LINE
    ThisWorkbook.Worksheets("DATABASE").Range("U6") = Me.TextBox4.Text ' ADDRESS 4TH LINE
    ThisWorkbook.Worksheets("DATABASE").Range("V6") = Me.TextBox5.Text ' POST CODE
    ThisWorkbook.Worksheets("DATABASE").Range("W6") = Me.TextBox6.Text ' CONTACT NUMBER
    ThisWorkbook.Worksheets("DATABASE").Range("O6") = Me.TextBox7.Text ' QUOTED / PAID
    ThisWorkbook.Worksheets("DATABASE").Range("L6") = Me.ComboBox11.Text ' CHASSIS NUMBER
    ThisWorkbook.Worksheets("DATABASE").Range("AA6") = Me.ComboBox13.Text ' SUPPLIER
    ThisWorkbook.Worksheets("DATABASE").Range("AC6") = Me.ComboBox14.Text ' PAYMENT TYPE
    ThisWorkbook.Worksheets("DATABASE").Range("AB6") = Me.ComboBox15.Text ' PART NUMBER
  
    End With
    Unload DatabaseToSheet2
End Sub
 

Excel Facts

Remove leading & trailing spaces
Save as CSV to remove all leading and trailing spaces. It is faster than using TRIM().
use the command button to First delete the Active row on worksheet QUOTES
Once the DATABASE sheet is activated there is no active row on QUOTES

Try putting another text box on the user form and load the Quotes sheet active cell address into it on initialization before changing the active sheet.
Then use that for what row to delete from the Quotes sheet.
VBA Code:
Private Sub UserForm_Initialize()
    ' hide DatabaseSheetTransferButton
    DatabaseSheetTransferButton.Visible = False
    ' populate TextBox1 from ActiveCell
    Me.TextBox1.Text = ActiveCell.Value
    ' the address of that active cell
    Me.TextBox20 = ActiveCell.Address   ' <~~~~ change textbox to suit
    ' change active sheet to "DATABASE"
    ActiveWorkbook.Sheets("DATABASE").Activate
End Sub
 
Upvote 0
Like this ?

VBA Code:
        ' hide DatabaseSheetTransferButton
    DatabaseSheetTransferButton.Visible = False
    ' populate TextBox1 from ActiveCell
    Me.TextBox1.Text = ActiveCell.Value
    ' the address of that active cell
    Me.TextBox8 = ActiveCell.Address = ThisWorkbook.Sheets("QUOTES").Range("A12")  ' <~~~~ change textbox to suit
    ' change active sheet to "DATABASE"
    ActiveWorkbook.Sheets("DATABASE").Activate
 
Upvote 0
Sorry its TextBox 2 but the customers name isnt the populating the TextBox on the userform,see screenshot
 

Attachments

  • EaseUS_2024_07_18_18_18_58.jpg
    EaseUS_2024_07_18_18_18_58.jpg
    32.1 KB · Views: 6
Upvote 0
I now see the customers name in the TextBox.
It the new Textbox i also see $A$12

So am i safe to continue ?
 
Upvote 0
Ive made a copy & run the code.
It does all that it should apart from deleting the row at row A12 on the sheet QUOTES
 
Upvote 0
Show me the line of code you're using to delete the row from QUOTES
 
Upvote 0
I stopped when you replies as i thought what you were advising was going to delete it
 
Upvote 0

Forum statistics

Threads
1,224,811
Messages
6,181,082
Members
453,021
Latest member
Justyna P

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top