Добрый вечер! Прошу Вашей помощи в решении проблемки. Есть таблица в которой данные. Необходимо макросом вставитьстрочку ниже последнего выбираемого значения. К примеру по столбце 2 (столбец В) искать последнее значени "Иванов" и ниже него вставитьь строчку. Заранее благодарен!
Добрый вечер! Прошу Вашей помощи в решении проблемки. Есть таблица в которой данные. Необходимо макросом вставитьстрочку ниже последнего выбираемого значения. К примеру по столбце 2 (столбец В) искать последнее значени "Иванов" и ниже него вставитьь строчку. Заранее благодарен!rtv2061
Двойной клик левой кнопкой мыши по ячейке B1 [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$B$1" Then Cancel = True UserForm1.Show End If End Sub
[/vba]UserForm1.Show:
Код UserForm1: [vba]
Код
Private Sub TextBox1_Change() a = TextBox1.Value b = Cells(Rows.Count, "b").End(xlUp).Row c = Application.Match(a, Range("b2:b" & b), 0) If IsNumeric(c) Then d = Evaluate("=MAX(IF(B" & c & ":B" & b & "=""" & a & """,ROW(B" & c & ":B" & b & ")))") + 1 Label1.Caption = d Else Label1.Caption = "" End If End Sub Private Sub CommandButton1_Click() a = Label1.Caption If IsNumeric(a) Then Rows(a).Insert Shift:=xlDown Unload UserForm1 Else MsgBox "Не найдено!" End If End Sub
[/vba]
Двойной клик левой кнопкой мыши по ячейке B1 [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$B$1" Then Cancel = True UserForm1.Show End If End Sub
[/vba]UserForm1.Show:
Код UserForm1: [vba]
Код
Private Sub TextBox1_Change() a = TextBox1.Value b = Cells(Rows.Count, "b").End(xlUp).Row c = Application.Match(a, Range("b2:b" & b), 0) If IsNumeric(c) Then d = Evaluate("=MAX(IF(B" & c & ":B" & b & "=""" & a & """,ROW(B" & c & ":B" & b & ")))") + 1 Label1.Caption = d Else Label1.Caption = "" End If End Sub Private Sub CommandButton1_Click() a = Label1.Caption If IsNumeric(a) Then Rows(a).Insert Shift:=xlDown Unload UserForm1 Else MsgBox "Не найдено!" End If End Sub
Private Sub CommandButton1_Click() x = ListBox1.ListIndex If x = -1 Then MsgBox "ФИО не выбраны" Else a = ListBox1.Value b = Cells(Rows.Count, "b").End(xlUp).Row c = Application.Match(a, Range("b2:b" & b), 0) d = Evaluate("=MAX(IF(B" & c & ":B" & b & "=""" & a & """,ROW(B" & c & ":B" & b & ")))") + 1 Rows(d).Insert Shift:=xlDown Range("b" & d) = a 'тута вписать правильные столбцы Range("c" & d) = TextBox1.Value Range("d" & d) = TextBox2.Value End If End Sub
[/vba]
rtv2061, не совсем понятно Ваше описание. [vba]
Код
Private Sub CommandButton1_Click() x = ListBox1.ListIndex If x = -1 Then MsgBox "ФИО не выбраны" Else a = ListBox1.Value b = Cells(Rows.Count, "b").End(xlUp).Row c = Application.Match(a, Range("b2:b" & b), 0) d = Evaluate("=MAX(IF(B" & c & ":B" & b & "=""" & a & """,ROW(B" & c & ":B" & b & ")))") + 1 Rows(d).Insert Shift:=xlDown Range("b" & d) = a 'тута вписать правильные столбцы Range("c" & d) = TextBox1.Value Range("d" & d) = TextBox2.Value End If End Sub