У меня есть пользовательская форма, которая заполняет 11 текстовых полей на основе двух критериев. Я хотел бы, чтобы строка, которая использовалась для заполнения полей, была сохранена и использовалась для следующей подпрограммы, где информация была изменена и обновлена до той же строки, из которой она была взята. Я не уверен, как передать переменную currentrow
следующему подпункту, но это большая проблема, с которой я сталкиваюсь, поскольку я постоянно получаю какую-то ошибку, основанную на том, что currentrow
не определено.
Если бы вы могли предоставить код относительно того, как именно это исправить, или для дополнительной оценки того, как изменить первую часть кода, чтобы иметь возможность искать только часть значения вместо всего значения, я быбудь так благодарен.
Option Explicit
Private currentrow As Long
Sub MainMacro()
currentrow = cel.Row
CommandButton2 (currentrow)
End Sub
Private 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
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
Function find_irow()
currentrow = cel.Row
Call CommandButton2
End Function
Private 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
bb = txt2.Value
cc = txt3.Value
dd = txt4.Value
ee = txt5.Value
ff = txt6.Value
gg = txt7.Value
hh = txt8.Value
ii = txt9.Value
jj = txt10.Value
kk = txt11.Value
With Sheets("The Goods")
Cells(currentrow, 5).Value = aa
Cells(currentrow, 3).Value = bb
Cells(currentrow, 6).Value = cc
Cells(currentrow, 7).Value = dd
Cells(currentrow, 8).Value = ee
Cells(currentrow, 9).Value = ff
Cells(currentrow, 10).Value = gg
Cells(currentrow, 11).Value = hh
Cells(currentrow, 12).Value = ii
Cells(currentrow, 13).Value = jj
Cells(currentrow, 14).Value = kk
End With
End Sub