Добрый день Всем. В коде имеется страница которая копирует первые 45строк Rows("1:45").Copy. Я на форму хочу добавить текстбокс для того чтоб самому определять сколько страниц копировать. Помогите пжл вставить текстбокс вместо "45".
И Вам здравствуйте. У Вас уже 4-я сотня сообщений, а все пытаетесь словами что-то объяснить, вместо того, что-бы в файле-примере показать Как есть - Как надо. И даже словами не понятно
Цитата
Tigo написал: В коде имеется страница которая копирует
как такое может быть? страница копирует...
Согласие есть продукт при полном непротивлении сторон
Sub СкопироватьСтроки()
Dim L As Variant, I As Long
L = InputBox("Введите количество строк для копирования")
If L = "" Or Not IsNumeric(L) Then Exit Sub
Rows("1:" & L).Copy Destination:=Cells(Selection.Row + Selection.Rows.Count * I, Selection.Column)
End Sub
Или вариант с выбором произвольного диапазона строк
Код
Sub СкопироватьСтроки()
Dim L As Variant, Arr
L = InputBox("Введите номера строк для копирования черз "":"" (например 1:10)")
If L = "" Then Exit Sub
Arr = Split(L, ":")
If UBound(Arr) <> 1 Or Not (IsNumeric(Arr(0)) And IsNumeric(Arr(1))) Then Exit Sub
Rows(Arr(0) & ":" & Arr(1)).Copy Destination:=Cells(Selection.Row + Selection.Rows.Count * I, Selection.Column)
End Sub
Ув. Sanja согласен с Вашими высказываниями, ну по ходу я думал что нужно вместо "45" как то вставить TextBox1.Text, только у меня не получалось код ругался. У меня на нескольких листах есть таблицы которые заполняю и потом ниже их копирую вместе с форматом. Таких таблиц было 3 на 3-х листах и я сделал три кода где было разное количество строк, но со временем я понял что придется еще несколько таблиц на новых листах создавать при чем уже будет и разное количество столбцов, поэтому я решил создать текстбоксы где я смогу на любом листе выбрать нужное количество столбцов и строк, тем самым у меня будет один код вместо того количества таблиц которое все время будет добавляться. Само копирование я смог решить с помощью текстбоксов а вот сам формат не получается. Файл с примером создал.
Я бы вместо InputBox использовал Application.InputBox
Код
Sub Test()
x = Application.InputBox("Укажите количество строк для вставки.", "Выбираем количество.", Type:=1)
Rows(x).Resize(3).Insert
'Будет вставлено х строк, начиная с третьей
Rows("1:" & x).Copy
'А так скопируем х строк, начиная с первой
End Sub