Nic70y, у них уже существует таблица и они мучаются с ней, вот и возникла такая необходимость. У них на одном листе идёт повтор столбцов где они заносят эти входящие номера, например столбец D, потом H, потом L и так далее, то есть она в ширь у них дублируется.
Nic70y, у них уже существует таблица и они мучаются с ней, вот и возникла такая необходимость. У них на одном листе идёт повтор столбцов где они заносят эти входящие номера, например столбец D, потом H, потом L и так далее, то есть она в ширь у них дублируется.misterleks
а если ещё ввести переменную и ей присвоить начальное значение?
Upd. А нет, он тогда каждый раз будет его прибавлять Upd2. Условие может помочь, то есть переменная N=200, Если (х1<N, тогда N+1, иначе x1+1). Может как то так?
а если ещё ввести переменную и ей присвоить начальное значение?
Upd. А нет, он тогда каждый раз будет его прибавлять Upd2. Условие может помочь, то есть переменная N=200, Если (х1<N, тогда N+1, иначе x1+1). Может как то так?misterleks
Сообщение отредактировал misterleks - Пятница, 17.07.2020, 14:17
ну со столбцами, если сильно не заморачиваться, то можно[vba]
Код
If u_2 <= u_1 And (u_3 = 5 Or u_3 = 8) Then UserForm1.Show
[/vba]через Or перечислить нужные, а вот с остальными условиями сложнее, нужно видеть реальный файл (очень похожий на реальный), изучить его и т.п. и т.д. думаю, что все выполнимо
ну со столбцами, если сильно не заморачиваться, то можно[vba]
Код
If u_2 <= u_1 And (u_3 = 5 Or u_3 = 8) Then UserForm1.Show
[/vba]через Or перечислить нужные, а вот с остальными условиями сложнее, нужно видеть реальный файл (очень похожий на реальный), изучить его и т.п. и т.д. думаю, что все выполнимоNic70y
Я понял, кидаю кусок файла реального (немного удалены данные). Графа счет, вот в ней как раз это колдовство и должно происходить. Сейчас графа заполнена, ну заполнена и ладно, надо начинать с новой, как раз подходит отлично Ваш способ, но нумерация должна уже продолжаться, на одном листе нумерация последовательная +1, но например в примере должна начинаться с 263. И таких входящих в ячейке может быть два и три, я попробовал, он в ячейке одну цифру ставит на вх., если несколько раз повторить вх. P.S. и графа счет со всеми другими графами повторяется вправо, так как поставщик услуг один, но платит ежемесячно, удобнее вправо это всё дублировать.
Я понял, кидаю кусок файла реального (немного удалены данные). Графа счет, вот в ней как раз это колдовство и должно происходить. Сейчас графа заполнена, ну заполнена и ладно, надо начинать с новой, как раз подходит отлично Ваш способ, но нумерация должна уже продолжаться, на одном листе нумерация последовательная +1, но например в примере должна начинаться с 263. И таких входящих в ячейке может быть два и три, я попробовал, он в ячейке одну цифру ставит на вх., если несколько раз повторить вх. P.S. и графа счет со всеми другими графами повторяется вправо, так как поставщик услуг один, но платит ежемесячно, удобнее вправо это всё дублировать.misterleks
ну ваще-то если использовать ячейку, то я не в те дебри полез
вылезем из них. Лист: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub 'при выделении более 1й ячейки - выход из макроса u_1 = Cells(Rows.Count, "a").End(xlUp).Row 'последняя заполненная строка столбца A u_2 = Target.Row 'строка выбранной ячейки u_3 = Target.Column 'столбец выбранной ячейки u_4 = Cells(1, u_3).Value If u_2 <= u_1 And u_2 > 1 And u_4 = "счет" Then UserForm1.Show End Sub
[/vba]Форма: [vba]
Код
Private Sub UserForm_Initialize() TextBox1 = Selection End Sub Private Sub TextBox1_Change() u_1 = TextBox1.Value u_2 = Right(u_1, 3) If u_2 = "вх." Then u_3 = Cells(Rows.Count, "a").End(xlUp).Row u_5 = Date u_6 = Right(0 & Day(u_5), 2) & "." u_7 = Right(0 & Month(u_5), 2) & "." u_8 = Year(u_5) u_9 = Range("a1") TextBox1 = u_1 & " " & u_9 & " от " & u_6 & u_7 & u_8 & ")" Range("a1") = Range("a1") + 1 End If End Sub Private Sub CommandButton1_Click() Selection = TextBox1.Value Unload UserForm1 End Sub
[/vba]в ячейке а1 начальный следующий № + формат "Вид закупки"
ну ваще-то если использовать ячейку, то я не в те дебри полез
вылезем из них. Лист: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub 'при выделении более 1й ячейки - выход из макроса u_1 = Cells(Rows.Count, "a").End(xlUp).Row 'последняя заполненная строка столбца A u_2 = Target.Row 'строка выбранной ячейки u_3 = Target.Column 'столбец выбранной ячейки u_4 = Cells(1, u_3).Value If u_2 <= u_1 And u_2 > 1 And u_4 = "счет" Then UserForm1.Show End Sub
[/vba]Форма: [vba]
Код
Private Sub UserForm_Initialize() TextBox1 = Selection End Sub Private Sub TextBox1_Change() u_1 = TextBox1.Value u_2 = Right(u_1, 3) If u_2 = "вх." Then u_3 = Cells(Rows.Count, "a").End(xlUp).Row u_5 = Date u_6 = Right(0 & Day(u_5), 2) & "." u_7 = Right(0 & Month(u_5), 2) & "." u_8 = Year(u_5) u_9 = Range("a1") TextBox1 = u_1 & " " & u_9 & " от " & u_6 & u_7 & u_8 & ")" Range("a1") = Range("a1") + 1 End If End Sub Private Sub CommandButton1_Click() Selection = TextBox1.Value Unload UserForm1 End Sub
[/vba]в ячейке а1 начальный следующий № + формат "Вид закупки"Nic70y