ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Why doesn't this work (https://www.excelbanter.com/excel-programming/394824-why-doesnt-work.html)

michael.beckinsale

Why doesn't this work
 
Hi All,

Below is the code l am using in a ComboBox. The form populates fine,
the 1st column being the combobox from which the user selects the
data. Text boxes are used to display the associated data in columns 2,
3 & 4. My requirement is then that the data in columns 2,3, 7 4 can be
edited and written back to the worksheet. With the code below only the
edited data in column 2 is written back!

Any help gratefully appreciated. This is driving me nuts.

Private Sub cbStaff_Change()
tbCat.Value = cbStaff.Column(1)
tbSkill.Value = cbStaff.Column(2)
tbNum.Value = cbStaff.Column(3)

End Sub

Private Sub cmdCancel_Click()
Unload frmStaffEdit
End Sub

Private Sub cmdOK_Click()
Dim r As Integer
r = cbStaff.ListIndex + 3
With Sheets("Staff List")
Cells(r, 3).Value = tbCat.Value
Cells(r, 4).Value = tbSkill.Value
Cells(r, 5).Value = tbNum.Value
End With
Unload frmStaffEdit
End Sub

Private Sub UserForm_Initialize()
cbStaff.Value = ""
End Sub



TIA

Regards

MB


Tom Ogilvy

Why doesn't this work
 
I suspect you have those cells linked to to your combobox and you are getting
some interaction with that link. Suggest you break the link (rowsource)
and see how it works (load your combobox list with code).

--
Regards,
Tom Ogilvy


"michael.beckinsale" wrote:

Hi All,

Below is the code l am using in a ComboBox. The form populates fine,
the 1st column being the combobox from which the user selects the
data. Text boxes are used to display the associated data in columns 2,
3 & 4. My requirement is then that the data in columns 2,3, 7 4 can be
edited and written back to the worksheet. With the code below only the
edited data in column 2 is written back!

Any help gratefully appreciated. This is driving me nuts.

Private Sub cbStaff_Change()
tbCat.Value = cbStaff.Column(1)
tbSkill.Value = cbStaff.Column(2)
tbNum.Value = cbStaff.Column(3)

End Sub

Private Sub cmdCancel_Click()
Unload frmStaffEdit
End Sub

Private Sub cmdOK_Click()
Dim r As Integer
r = cbStaff.ListIndex + 3
With Sheets("Staff List")
Cells(r, 3).Value = tbCat.Value
Cells(r, 4).Value = tbSkill.Value
Cells(r, 5).Value = tbNum.Value
End With
Unload frmStaffEdit
End Sub

Private Sub UserForm_Initialize()
cbStaff.Value = ""
End Sub



TIA

Regards

MB




All times are GMT +1. The time now is 11:54 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com