Вы получаете текст кнопки в свою переменную только один раз, поэтому получаете только начальное состояние. Для вашей кнопки изменения вам нужно будет получить текст кнопки каждый раз, когда вы нажимаете кнопку, то есть внутри обработчика кликов.
$('button').click(function() {
var buttonText= $('button').text(); //get button text each time you click the button
if (buttonText=='day') {
$('body').css({ 'background':'red' })
$('button').text('night');
} else if (buttonText=='night') {
$('body').css({ 'background':'yellow' })
}
})
Вы можете избежать петли все вместе. Используйте метод Range.Find
для поиска вашего значения в Me.cboCo
. Если ваше значение найдено, мы заполним ваши текстовые поля строкой.
Вы можете изменить параметры метода .Find
для оптимизации поиска. Смотрите здесь
Private Sub cboCo_Change()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet3")
Dim Found As Range, i As Long
Set Found = ws.Range("A:A").Find(Me.cboCo)
If Not Found Is Nothing Then
i = Found.Row
Me.txtContact = ws.Cells(i, "B")
Me.txtPhone = ws.Cells(i, "C")
Me.txtEmail = ws.Cells(i, "D")
Me.txtCoAdd = ws.Cells(i, "E")
Me.txtWebSite = ws.Cells(i, "F")
Me.txtServProd = ws.Cells(i, "G")
Me.txtAccred = ws.Cells(i, "H")
Me.txtStanding = ws.Cells(i, "I")
Me.txtSince = ws.Cells(i, "J")
Me.txtNotes = ws.Cells(i, "K")
Me.txtVerified = ws.Cells(i, "L")
Me.txtToday = ws.Cells(i, "M")
Me.cboYrApprv = ws.Cells(i, "N")
Me.txtApprvBy = ws.Cells(i, "O")
Me.txtAprvReas = ws.Cells(i, "P")
Me.txtOrder = ws.Cells(i, "Q")
Me.txtPurchs = Sheets("VendorList").Cells(i, "R")
Me.cboCat = Sheets("VendorList").Cells(i, "S")
End If
End Sub
Вот попробуйте это и посмотрите, решит ли это вашу проблему. Этот код в основном делает то же самое, но работает в памяти, а не слишком много взаимодействует с объектами.
Private Sub cboCo_Change()
Dim i As Long
dim arr as variant
arr=thisworkbook.worksheets("Sheet3").UsedRange
For i = 2 To UBound(arr,1)
If arr(i, 1) = Me.cboCo.value Then
Me.txtContact = arr(i, 2)
Me.txtPhone = arr(i, 3)
Me.txtEmail = arr(i, 4)
Me.txtCoAdd = arr(i, 5)
Me.txtWebSite = arr(i, 6)
Me.txtServProd = arr(i, 7)
Me.txtAccred = arr(i, 8)
Me.txtStanding = arr(i, 9)
Me.txtSince = arr(i, 10)
Me.txtNotes = arr(i, 11)
Me.txtVerified = arr(i, 12)
Me.txtToday = arr(i, 13)
Me.cboYrApprv =arr(i, 14)
Me.txtApprvBy = arr(i, 15)
Me.txtAprvReas = arr(i, 16)
Me.txtOrder = arr(i, 17)
Me.txtPurchs = arr(i, 18)
Me.cboCat = arr(i, 19)
End If
Next i
FormName.Repaint
End Sub