Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоматическая вставка счетчика при условии - Страница 2 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическая вставка счетчика при условии (Макросы/Sub)
Автоматическая вставка счетчика при условии
misterleks Дата: Пятница, 17.07.2020, 14:09 | Сообщение № 21
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Nic70y, у них уже существует таблица и они мучаются с ней, вот и возникла такая необходимость. У них на одном листе идёт повтор столбцов где они заносят эти входящие номера, например столбец D, потом H, потом L и так далее, то есть она в ширь у них дублируется.
 
Ответить
СообщениеNic70y, у них уже существует таблица и они мучаются с ней, вот и возникла такая необходимость. У них на одном листе идёт повтор столбцов где они заносят эти входящие номера, например столбец D, потом H, потом L и так далее, то есть она в ширь у них дублируется.

Автор - misterleks
Дата добавления - 17.07.2020 в 14:09
misterleks Дата: Пятница, 17.07.2020, 14:12 | Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
не подойдет

а если ещё ввести переменную и ей присвоить начальное значение?

Upd. А нет, он тогда каждый раз будет его прибавлять
Upd2. Условие может помочь, то есть переменная N=200, Если (х1<N, тогда N+1, иначе x1+1). Может как то так?


Сообщение отредактировал misterleks - Пятница, 17.07.2020, 14:17
 
Ответить
Сообщение
не подойдет

а если ещё ввести переменную и ей присвоить начальное значение?

Upd. А нет, он тогда каждый раз будет его прибавлять
Upd2. Условие может помочь, то есть переменная N=200, Если (х1<N, тогда N+1, иначе x1+1). Может как то так?

Автор - misterleks
Дата добавления - 17.07.2020 в 14:12
Nic70y Дата: Пятница, 17.07.2020, 14:37 | Сообщение № 23
Группа: Друзья
Ранг: Экселист
Сообщений: 6345
Репутация: 1399 ±
Замечаний: 0% ±

ru13;10;03
ну со столбцами, если сильно не заморачиваться,
то можно[vba]
Код
    If u_2 <= u_1 And (u_3 = 5 Or u_3 = 8) Then UserForm1.Show
[/vba]через Or перечислить нужные,
а вот с остальными условиями сложнее,
нужно видеть реальный файл (очень похожий на реальный),
изучить его и т.п. и т.д.
думаю, что все выполнимо


Яндекс Деньги 41001841029809
 
Ответить
Сообщениену со столбцами, если сильно не заморачиваться,
то можно[vba]
Код
    If u_2 <= u_1 And (u_3 = 5 Or u_3 = 8) Then UserForm1.Show
[/vba]через Or перечислить нужные,
а вот с остальными условиями сложнее,
нужно видеть реальный файл (очень похожий на реальный),
изучить его и т.п. и т.д.
думаю, что все выполнимо

Автор - Nic70y
Дата добавления - 17.07.2020 в 14:37
misterleks Дата: Пятница, 17.07.2020, 14:53 | Сообщение № 24
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
а вот с остальными условиями сложнее,

Я понял, кидаю кусок файла реального (немного удалены данные). Графа счет, вот в ней как раз это колдовство и должно происходить. Сейчас графа заполнена, ну заполнена и ладно, надо начинать с новой, как раз подходит отлично Ваш способ, но нумерация должна уже продолжаться, на одном листе нумерация последовательная +1, но например в примере должна начинаться с 263. И таких входящих в ячейке может быть два и три, я попробовал, он в ячейке одну цифру ставит на вх., если несколько раз повторить вх.
P.S. и графа счет со всеми другими графами повторяется вправо, так как поставщик услуг один, но платит ежемесячно, удобнее вправо это всё дублировать.
К сообщению приложен файл: _2.xlsx(10.1 Kb)
 
Ответить
Сообщение
а вот с остальными условиями сложнее,

Я понял, кидаю кусок файла реального (немного удалены данные). Графа счет, вот в ней как раз это колдовство и должно происходить. Сейчас графа заполнена, ну заполнена и ладно, надо начинать с новой, как раз подходит отлично Ваш способ, но нумерация должна уже продолжаться, на одном листе нумерация последовательная +1, но например в примере должна начинаться с 263. И таких входящих в ячейке может быть два и три, я попробовал, он в ячейке одну цифру ставит на вх., если несколько раз повторить вх.
P.S. и графа счет со всеми другими графами повторяется вправо, так как поставщик услуг один, но платит ежемесячно, удобнее вправо это всё дублировать.

Автор - misterleks
Дата добавления - 17.07.2020 в 14:53
Nic70y Дата: Пятница, 17.07.2020, 15:14 | Сообщение № 25
Группа: Друзья
Ранг: Экселист
Сообщений: 6345
Репутация: 1399 ±
Замечаний: 0% ±

ru13;10;03
идея есть,
но сегодня уже вряд ли сделаю,
надо и поработать)


Яндекс Деньги 41001841029809
 
Ответить
Сообщениеидея есть,
но сегодня уже вряд ли сделаю,
надо и поработать)

Автор - Nic70y
Дата добавления - 17.07.2020 в 15:14
misterleks Дата: Пятница, 17.07.2020, 15:27 | Сообщение № 26
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Nic70y, спасибо, что помогаете!
 
Ответить
СообщениеNic70y, спасибо, что помогаете!

Автор - misterleks
Дата добавления - 17.07.2020 в 15:27
Nic70y Дата: Пятница, 17.07.2020, 17:08 | Сообщение № 27
Группа: Друзья
Ранг: Экселист
Сообщений: 6345
Репутация: 1399 ±
Замечаний: 0% ±

ru13;10;03
не совсем я понял о начальном номере,
см. файл 1й№ в ячейке A1

АпДэйт
ну ваще-то если использовать ячейку, то я не в те дебри полез,
но то уж потом (наверное)
К сообщению приложен файл: 22.xlsm(23.9 Kb)


Яндекс Деньги 41001841029809

Сообщение отредактировал Nic70y - Пятница, 17.07.2020, 17:17
 
Ответить
Сообщениене совсем я понял о начальном номере,
см. файл 1й№ в ячейке A1

АпДэйт
ну ваще-то если использовать ячейку, то я не в те дебри полез,
но то уж потом (наверное)

Автор - Nic70y
Дата добавления - 17.07.2020 в 17:08
Nic70y Дата: Суббота, 18.07.2020, 08:14 | Сообщение № 28
Группа: Друзья
Ранг: Экселист
Сообщений: 6345
Репутация: 1399 ±
Замечаний: 0% ±

ru13;10;03
ну ваще-то если использовать ячейку, то я не в те дебри полез
вылезем из них.
Лист:
[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 начальный следующий № + формат "Вид закупки"
К сообщению приложен файл: 23.xlsm(23.0 Kb)


Яндекс Деньги 41001841029809

Сообщение отредактировал Nic70y - Суббота, 18.07.2020, 08:20
 
Ответить
Сообщение
ну ваще-то если использовать ячейку, то я не в те дебри полез
вылезем из них.
Лист:
[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
Дата добавления - 18.07.2020 в 08:14
misterleks Дата: Суббота, 18.07.2020, 11:26 | Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо. Буду пробовать в понедельник, дома не работают макросы ((
 
Ответить
СообщениеСпасибо. Буду пробовать в понедельник, дома не работают макросы ((

Автор - misterleks
Дата добавления - 18.07.2020 в 11:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическая вставка счетчика при условии (Макросы/Sub)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс цитирования
© 2010-2020 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!