Заполнение столбца номерами,с учетом их количества
ASWP
Дата: Суббота, 09.06.2018, 18:32 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Добрый день. Как сделать заполнение столбца номерами, с учетом их количества, при нажатии на кнопку с макросом?
Добрый день. Как сделать заполнение столбца номерами, с учетом их количества, при нажатии на кнопку с макросом? ASWP
я знаю что ничего не знаю, но другие не знают и этого
Сообщение отредактировал ASWP - Суббота, 09.06.2018, 19:27
Ответить
Сообщение Добрый день. Как сделать заполнение столбца номерами, с учетом их количества, при нажатии на кнопку с макросом? Автор - ASWP Дата добавления - 09.06.2018 в 18:32
_Boroda_
Дата: Суббота, 09.06.2018, 19:12 |
Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Такой вариант [vba]Код
Sub tt() x1_ = Range("H19").Value x2_ = Range("K19").Value If x1_ = "" Or x2_ = "" Then Exit Sub 'непустые On Error Resume Next aaa = x1_ / x2_ 'оба числа и кол-во не равно 0 If Err Then Exit Sub On Error GoTo 0 With Sheets("Список") .Columns(1).ClearContents ReDim ar(1 To x2_, 1 To 1) For i = 1 To x2_ ar(i, 1) = WorksheetFunction.Text(x1_ + i - 1, String(Len(x1_), "0")) Next i With .Cells(1).Resize(x2_) .Value = ar End With End With End Sub
[/vba]
Такой вариант [vba]Код
Sub tt() x1_ = Range("H19").Value x2_ = Range("K19").Value If x1_ = "" Or x2_ = "" Then Exit Sub 'непустые On Error Resume Next aaa = x1_ / x2_ 'оба числа и кол-во не равно 0 If Err Then Exit Sub On Error GoTo 0 With Sheets("Список") .Columns(1).ClearContents ReDim ar(1 To x2_, 1 To 1) For i = 1 To x2_ ar(i, 1) = WorksheetFunction.Text(x1_ + i - 1, String(Len(x1_), "0")) Next i With .Cells(1).Resize(x2_) .Value = ar End With End With End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Такой вариант [vba]Код
Sub tt() x1_ = Range("H19").Value x2_ = Range("K19").Value If x1_ = "" Or x2_ = "" Then Exit Sub 'непустые On Error Resume Next aaa = x1_ / x2_ 'оба числа и кол-во не равно 0 If Err Then Exit Sub On Error GoTo 0 With Sheets("Список") .Columns(1).ClearContents ReDim ar(1 To x2_, 1 To 1) For i = 1 To x2_ ar(i, 1) = WorksheetFunction.Text(x1_ + i - 1, String(Len(x1_), "0")) Next i With .Cells(1).Resize(x2_) .Value = ar End With End With End Sub
[/vba] Автор - _Boroda_ Дата добавления - 09.06.2018 в 19:12
ASWP
Дата: Суббота, 09.06.2018, 19:30 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
_Boroda_ , Спасибо, макрос работает, но нужно, чтобы новые номера добавлялись в конец списка. И номера не всегда будут идти строго по порядку, а будут зависеть от номера введенного на первом листе.
_Boroda_ , Спасибо, макрос работает, но нужно, чтобы новые номера добавлялись в конец списка. И номера не всегда будут идти строго по порядку, а будут зависеть от номера введенного на первом листе.ASWP
я знаю что ничего не знаю, но другие не знают и этого
Ответить
Сообщение _Boroda_ , Спасибо, макрос работает, но нужно, чтобы новые номера добавлялись в конец списка. И номера не всегда будут идти строго по порядку, а будут зависеть от номера введенного на первом листе.Автор - ASWP Дата добавления - 09.06.2018 в 19:30
_Boroda_
Дата: Суббота, 09.06.2018, 20:09 |
Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
нужно, чтобы новые номера добавлялись в конец списка
А в первом сообщении об этом никак нельзя было написать?номера не всегда будут идти строго по порядку, а будут зависеть от номера введенного на первом листе.
А у меня что, не так разве? Или Вы снова что-то скрываете? [vba]Код
Sub tt() x1_ = Range("H19").Value x2_ = Range("K19").Value If x1_ = "" Or x2_ = "" Then Exit Sub 'непустые On Error Resume Next aaa = x1_ / x2_ 'оба числа и кол-во не равно 0 If Err Then Exit Sub On Error GoTo 0 ReDim ar(1 To x2_, 1 To 1) For i = 1 To x2_ ar(i, 1) = WorksheetFunction.Text(x1_ + i - 1, String(Len(x1_), "0")) Next i With Sheets("Список") r1_ = .Cells(Rows.Count, 1).End(3).Row r1_ = r1_ + 1 + (.Cells(r1_, 1) = "") .Cells(r1_, 1).Resize(x2_).Value = ar .Select End With End Sub
[/vba]
нужно, чтобы новые номера добавлялись в конец списка
А в первом сообщении об этом никак нельзя было написать?номера не всегда будут идти строго по порядку, а будут зависеть от номера введенного на первом листе.
А у меня что, не так разве? Или Вы снова что-то скрываете? [vba]Код
Sub tt() x1_ = Range("H19").Value x2_ = Range("K19").Value If x1_ = "" Or x2_ = "" Then Exit Sub 'непустые On Error Resume Next aaa = x1_ / x2_ 'оба числа и кол-во не равно 0 If Err Then Exit Sub On Error GoTo 0 ReDim ar(1 To x2_, 1 To 1) For i = 1 To x2_ ar(i, 1) = WorksheetFunction.Text(x1_ + i - 1, String(Len(x1_), "0")) Next i With Sheets("Список") r1_ = .Cells(Rows.Count, 1).End(3).Row r1_ = r1_ + 1 + (.Cells(r1_, 1) = "") .Cells(r1_, 1).Resize(x2_).Value = ar .Select End With End Sub
[/vba]_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение нужно, чтобы новые номера добавлялись в конец списка
А в первом сообщении об этом никак нельзя было написать?номера не всегда будут идти строго по порядку, а будут зависеть от номера введенного на первом листе.
А у меня что, не так разве? Или Вы снова что-то скрываете? [vba]Код
Sub tt() x1_ = Range("H19").Value x2_ = Range("K19").Value If x1_ = "" Or x2_ = "" Then Exit Sub 'непустые On Error Resume Next aaa = x1_ / x2_ 'оба числа и кол-во не равно 0 If Err Then Exit Sub On Error GoTo 0 ReDim ar(1 To x2_, 1 To 1) For i = 1 To x2_ ar(i, 1) = WorksheetFunction.Text(x1_ + i - 1, String(Len(x1_), "0")) Next i With Sheets("Список") r1_ = .Cells(Rows.Count, 1).End(3).Row r1_ = r1_ + 1 + (.Cells(r1_, 1) = "") .Cells(r1_, 1).Resize(x2_).Value = ar .Select End With End Sub
[/vba]Автор - _Boroda_ Дата добавления - 09.06.2018 в 20:09
ASWP
Дата: Суббота, 09.06.2018, 20:24 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
_Boroda_ , Спасибо, все отлично работает. Шестой рабочий день дает о себе знать
_Boroda_ , Спасибо, все отлично работает. Шестой рабочий день дает о себе знать ASWP
я знаю что ничего не знаю, но другие не знают и этого
Ответить
Сообщение _Boroda_ , Спасибо, все отлично работает. Шестой рабочий день дает о себе знать Автор - ASWP Дата добавления - 09.06.2018 в 20:24
Kuzmich
Дата: Суббота, 09.06.2018, 23:18 |
Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация:
156
±
Замечаний:
0% ±
Excel 2003
[vba]Код
Sub iNumber() n = Worksheets("Список").Cells(Rows.Count, "A").End(xlUp).Row + 1 With Worksheets("Список").Range("A" & n) .Value = Val(Range("H19")) .DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _ Step:=1, Stop:=Val(Range("H19")) + Range("K19") - 1, Trend:=False .Resize(Range("K19")).NumberFormat = "00000000" End With End Sub
[/vba]
[vba]Код
Sub iNumber() n = Worksheets("Список").Cells(Rows.Count, "A").End(xlUp).Row + 1 With Worksheets("Список").Range("A" & n) .Value = Val(Range("H19")) .DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _ Step:=1, Stop:=Val(Range("H19")) + Range("K19") - 1, Trend:=False .Resize(Range("K19")).NumberFormat = "00000000" End With End Sub
[/vba] Kuzmich
Ответить
Сообщение [vba]Код
Sub iNumber() n = Worksheets("Список").Cells(Rows.Count, "A").End(xlUp).Row + 1 With Worksheets("Список").Range("A" & n) .Value = Val(Range("H19")) .DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _ Step:=1, Stop:=Val(Range("H19")) + Range("K19") - 1, Trend:=False .Resize(Range("K19")).NumberFormat = "00000000" End With End Sub
[/vba] Автор - Kuzmich Дата добавления - 09.06.2018 в 23:18
ASWP
Дата: Суббота, 09.06.2018, 23:31 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
_Boroda_ , А можно еще функцию добавить , которая будет добавлять текст, в столбец B и C, при заполнении столбца А. Или новую тему создавать?
_Boroda_ , А можно еще функцию добавить , которая будет добавлять текст, в столбец B и C, при заполнении столбца А. Или новую тему создавать?ASWP
я знаю что ничего не знаю, но другие не знают и этого
Сообщение отредактировал ASWP - Суббота, 09.06.2018, 23:34
Ответить
Сообщение _Boroda_ , А можно еще функцию добавить , которая будет добавлять текст, в столбец B и C, при заполнении столбца А. Или новую тему создавать?Автор - ASWP Дата добавления - 09.06.2018 в 23:31
boa
Дата: Понедельник, 11.06.2018, 22:27 |
Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 549
Репутация:
167
±
Замечаний:
0% ±
365
ASWP , перед "End with" добавьте [vba]Код
.Cells(r1_, 1).Resize(x2_).Offset(, 1).Value = "текст1" .Cells(r1_, 1).Resize(x2_).Offset(, 2).Value = "текст2"
[/vba]
ASWP , перед "End with" добавьте [vba]Код
.Cells(r1_, 1).Resize(x2_).Offset(, 1).Value = "текст1" .Cells(r1_, 1).Resize(x2_).Offset(, 2).Value = "текст2"
[/vba]boa
Сообщение отредактировал boa - Понедельник, 11.06.2018, 22:29
Ответить
Сообщение ASWP , перед "End with" добавьте [vba]Код
.Cells(r1_, 1).Resize(x2_).Offset(, 1).Value = "текст1" .Cells(r1_, 1).Resize(x2_).Offset(, 2).Value = "текст2"
[/vba]Автор - boa Дата добавления - 11.06.2018 в 22:27
ASWP
Дата: Вторник, 12.06.2018, 19:12 |
Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
А как сделать чтобы после выполнения макроса, не открывался второй лист, а оставался первый?
А как сделать чтобы после выполнения макроса, не открывался второй лист, а оставался первый? ASWP
я знаю что ничего не знаю, но другие не знают и этого
Ответить
Сообщение А как сделать чтобы после выполнения макроса, не открывался второй лист, а оставался первый? Автор - ASWP Дата добавления - 12.06.2018 в 19:12
boa
Дата: Вторник, 12.06.2018, 19:50 |
Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 549
Репутация:
167
±
Замечаний:
0% ±
365
ASWP, ну такие вопросы... вы макрорекодером вообще не пользуетесь? какие-то действия записать..., а потом почитать листинг кода... Перед "end sub" добавьте: [vba]Код
Worksheets("[имя нужного листа]").activate
[/vba]
ASWP, ну такие вопросы... вы макрорекодером вообще не пользуетесь? какие-то действия записать..., а потом почитать листинг кода... Перед "end sub" добавьте: [vba]Код
Worksheets("[имя нужного листа]").activate
[/vba] boa
Сообщение отредактировал boa - Вторник, 12.06.2018, 19:54
Ответить
Сообщение ASWP, ну такие вопросы... вы макрорекодером вообще не пользуетесь? какие-то действия записать..., а потом почитать листинг кода... Перед "end sub" добавьте: [vba]Код
Worksheets("[имя нужного листа]").activate
[/vba] Автор - boa Дата добавления - 12.06.2018 в 19:50
ASWP
Дата: Вторник, 12.06.2018, 20:48 |
Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
boa , Почему же пользуюсь, только я всегда по сложному пути иду, вот иногда и не получается
boa , Почему же пользуюсь, только я всегда по сложному пути иду, вот иногда и не получается ASWP
я знаю что ничего не знаю, но другие не знают и этого
Сообщение отредактировал ASWP - Вторник, 12.06.2018, 20:49
Ответить
Сообщение boa , Почему же пользуюсь, только я всегда по сложному пути иду, вот иногда и не получается Автор - ASWP Дата добавления - 12.06.2018 в 20:48
Kuzmich
Дата: Вторник, 12.06.2018, 21:29 |
Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация:
156
±
Замечаний:
0% ±
Excel 2003
Цитата
А как сделать чтобы после выполнения макроса, не открывался второй лист
В моем варианте макроса вы так и остаетесь на листе фвд. В макросе из сообщения #4 закомментируйте строку кода [vba][/vba]
Цитата
А как сделать чтобы после выполнения макроса, не открывался второй лист
В моем варианте макроса вы так и остаетесь на листе фвд. В макросе из сообщения #4 закомментируйте строку кода [vba][/vba]Kuzmich
Ответить
Сообщение Цитата
А как сделать чтобы после выполнения макроса, не открывался второй лист
В моем варианте макроса вы так и остаетесь на листе фвд. В макросе из сообщения #4 закомментируйте строку кода [vba][/vba]Автор - Kuzmich Дата добавления - 12.06.2018 в 21:29
ASWP
Дата: Вторник, 12.06.2018, 21:45 |
Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Kuzmich , Я пробовал ваш макрос, просто я не знаю, как в нем сделать вставку доп. текста, сообщение #7, поэтому использую макрос _Boroda_ .закомментируйте строку кода
Точно, это же элементарно Спасибо
Kuzmich , Я пробовал ваш макрос, просто я не знаю, как в нем сделать вставку доп. текста, сообщение #7, поэтому использую макрос _Boroda_ .закомментируйте строку кода
Точно, это же элементарно СпасибоASWP
я знаю что ничего не знаю, но другие не знают и этого
Сообщение отредактировал ASWP - Вторник, 12.06.2018, 21:46
Ответить
Сообщение Kuzmich , Я пробовал ваш макрос, просто я не знаю, как в нем сделать вставку доп. текста, сообщение #7, поэтому использую макрос _Boroda_ .закомментируйте строку кода
Точно, это же элементарно СпасибоАвтор - ASWP Дата добавления - 12.06.2018 в 21:45
Kuzmich
Дата: Вторник, 12.06.2018, 21:52 |
Сообщение № 14
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация:
156
±
Замечаний:
0% ±
Excel 2003
Цитата
как в нем сделать вставку доп. текста
Добавьте строку перед End With [vba]Код
.Offset(, 1).Resize(Range("K19")) = "Текст1"
[/vba]
Цитата
как в нем сделать вставку доп. текста
Добавьте строку перед End With [vba]Код
.Offset(, 1).Resize(Range("K19")) = "Текст1"
[/vba]Kuzmich
Ответить
Сообщение Цитата
как в нем сделать вставку доп. текста
Добавьте строку перед End With [vba]Код
.Offset(, 1).Resize(Range("K19")) = "Текст1"
[/vba]Автор - Kuzmich Дата добавления - 12.06.2018 в 21:52
ASWP
Дата: Вторник, 12.06.2018, 22:47 |
Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Добавьте строку перед End With
Спасибо, все понял. Но все же буду пользоваться макросом _Boroda_ ,он универсальный.
Добавьте строку перед End With
Спасибо, все понял. Но все же буду пользоваться макросом _Boroda_ ,он универсальный.ASWP
я знаю что ничего не знаю, но другие не знают и этого
Ответить
Сообщение Добавьте строку перед End With
Спасибо, все понял. Но все же буду пользоваться макросом _Boroda_ ,он универсальный.Автор - ASWP Дата добавления - 12.06.2018 в 22:47
_Boroda_
Дата: Среда, 13.06.2018, 09:40 |
Сообщение № 16
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
У меня наконец-то сайт заработал. Не давало войти с пятницы, только из дома можно былоПеред "end sub" добавьте: Worksheets("[имя нужного листа]").activate
Достаточно в моем макросе просто убрать строку [vba][/vba] А насчет добавления текста - то это смотря какого текста. Если для всех строк одинакового, то да, [vba]
Код
.Cells(r1_, 1).Resize(x2_).Offset(, 1).Value = "текст1"
[/vba]
, а если для каждой строки свой текст, то опишите подробнее условия * Не дочитал тему, сразу отвечать полез. Про Select уже было, пардоньте. **Тьфу, редактирование поста с двумя и более цитатами вообще весь пост перекосило, ссылки на цитаты неверные получились
У меня наконец-то сайт заработал. Не давало войти с пятницы, только из дома можно былоПеред "end sub" добавьте: Worksheets("[имя нужного листа]").activate
Достаточно в моем макросе просто убрать строку [vba][/vba] А насчет добавления текста - то это смотря какого текста. Если для всех строк одинакового, то да, [vba]
Код
.Cells(r1_, 1).Resize(x2_).Offset(, 1).Value = "текст1"
[/vba]
, а если для каждой строки свой текст, то опишите подробнее условия * Не дочитал тему, сразу отвечать полез. Про Select уже было, пардоньте. **Тьфу, редактирование поста с двумя и более цитатами вообще весь пост перекосило, ссылки на цитаты неверные получились _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Сообщение отредактировал _Boroda_ - Среда, 13.06.2018, 21:43
Ответить
Сообщение У меня наконец-то сайт заработал. Не давало войти с пятницы, только из дома можно былоПеред "end sub" добавьте: Worksheets("[имя нужного листа]").activate
Достаточно в моем макросе просто убрать строку [vba][/vba] А насчет добавления текста - то это смотря какого текста. Если для всех строк одинакового, то да, [vba]
Код
.Cells(r1_, 1).Resize(x2_).Offset(, 1).Value = "текст1"
[/vba]
, а если для каждой строки свой текст, то опишите подробнее условия * Не дочитал тему, сразу отвечать полез. Про Select уже было, пардоньте. **Тьфу, редактирование поста с двумя и более цитатами вообще весь пост перекосило, ссылки на цитаты неверные получились Автор - _Boroda_ Дата добавления - 13.06.2018 в 09:40
ASWP
Дата: Среда, 13.06.2018, 18:52 |
Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
_Boroda_ , Мы со всеми задачами в этой теме уже разобрались, спасибо. У меня осталось еще одна задача, по этому примеру, но это уже в другой теме.
_Boroda_ , Мы со всеми задачами в этой теме уже разобрались, спасибо. У меня осталось еще одна задача, по этому примеру, но это уже в другой теме.ASWP
я знаю что ничего не знаю, но другие не знают и этого
Ответить
Сообщение _Boroda_ , Мы со всеми задачами в этой теме уже разобрались, спасибо. У меня осталось еще одна задача, по этому примеру, но это уже в другой теме.Автор - ASWP Дата добавления - 13.06.2018 в 18:52