У меня есть пользовательская форма, в которой я хочу найти информацию для заполнения текстовых полей, если два критерия найдены в одной строке. Код работает найти с CommandButton1, но я хочу иметь возможность обновлять текстовые поля информации, найденной с CommandButton2, поэтому мне нужно, чтобы строка сохранялась и могла изменять информацию этой строки с помощью CommandButton2_Click (). Я также хотел бы, чтобы способ немного перекодировать CommandButton1_Click (), чтобы иметь возможность сопоставлять только часть txtsearch и txtname вместо просмотра всего значения.
Кроме того, я получаю сообщение об ошибке с CommandButton2_Click (), что у меня возникает ошибка времени выполнения «1004»: ошибка приложения или объекта для Cells(currentrow, 5).Value = aa
. Это та часть, где я хочу, чтобы информация на исходной странице обновлялась измененной информацией, введенной пользователем. Любая помощь приветствуется.
Я уже сделал несколько правок, но может кто-нибудь подсказать, как мне изменить код, чтобы он работал? Или обратиться к поиску части значения вместо всего значения?
Option Explicit
Public Sub CommandButton1_Click()
Dim ws As Worksheet, cel As Range
Set ws = Sheets("The Goods")
For Each cel In ws.Cells(2, 2).Resize(ws.Cells(Rows.Count, 2).End(xlUp).Row).Cells
If cel.Value = Me.txtname.Value And cel.Offset(, 2).Value = Me.txtsearch.Value Then
currentrow = cel.Row
Me.txt1.Value = cel.Offset(, 3).Value & currentrow
Me.txt2.Value = cel.Offset(, 1).Value
Me.txt3.Value = cel.Offset(, 4).Value
Me.txt4.Value = cel.Offset(, 5).Value
Me.txt5.Value = cel.Offset(, 6).Value
Me.txt6.Value = cel.Offset(, 7).Value
Me.txt7.Value = cel.Offset(, 8).Value
Me.txt8.Value = cel.Offset(, 9).Value
Me.txt9.Value = cel.Offset(, 10).Value
Me.txt10.Value = cel.Offset(, 11).Value
Me.txt11.Value = cel.Offset(, 12).Value
End If
Next cel
End Sub
Public Sub CommandButton2_Click()
Dim aa As String, bb As String, cc As String, dd As String, ee As String, ff As String, gg As String, hh As String, ii As String, jj As String, kk As String
aa = txt1.Value
Cells(currentrow, 5).Value = aa
bb = txt2.Value
Cells(currentrow, 3).Value = bb
cc = txt3.Value
Cells(currentrow, 6).Value = cc
dd = txt4.Value
Cells(currentrow, 7).Value = dd
ee = txt5.Value
Cells(currentrow, 8).Value = ee
ff = txt6.Value
Cells(currentrow, 9).Value = ff
gg = txt7.Value
Cells(currentrow, 10).Value = gg
hh = txt8.Value
Cells(currentrow, 11).Value = hh
ii = txt9.Value
Cells(currentrow, 12).Value = ii
jj = txt10.Value
Cells(currentrow, 13).Value = jj
kk = txt11.Value
Cells(currentrow, 14).Value = kk
End Sub