Страница 1 из 1

Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 13:15
Zoj
Помогите кто может пожалуйста..
При нажатии на кнопку нужно с одного листа скопировать данные(Range("A2:H5")) в другой лист с начала ("A1")
Но вся соль в том что нада еще чтобы при следующем нажатии на кнопку оно опять копировалось но вставлялось уже не с начала , а продолжало ниже вставлятся и так сколько угодно раз.

Re: Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 13:33
VictorM

Код: Выделить всё

Sub test()
[a2:h5].Copy Destination:=Worksheets("Лист2").Range("A65536").End(xlUp).Offset(1, 0)
End Sub
Начинает "вставлять" данные с ячейки A2, в А1 можно поместить заголовки.

Re: Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 13:46
Zoj
Работает)СПС..
А как что бы оно копировало с другого листа а не с активного, и чтобы считало сколько раз скопировало.Помоги

Re: Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 13:50
Zoj
Еще одна проблема мне надо что бы оно копировало специально, чтобы только значения а формулы нет(

Re: Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 14:02
VictorM

Код: Выделить всё

Sub test()
    n = Worksheets("Лист1").Range("A1")    'счетчик
    Worksheets("Лист1").Range("A2:H5").Copy
    Worksheets("Лист2").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues'только значения
    Application.CutCopyMode = False
    n = n + 1
    Worksheets("Лист1").Range("A1") = n
End Sub

Re: Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 14:19
Zoj
Спасибо огромное!!Работает нормально..
А можно еще сделать так чтобы это была типа функцыя не привязаная к контретным листам.
Например чтобы в параметрах функции можно было указать с какого листа копировать, рендж, и куда копировать, а остальное внутри функции.
Был бы очень благодарен)

Re: Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 15:24
Zoj
вот я сделал так)

Код: Выделить всё

Sub Êíîïêà521_Ùåëêíóòü()
    n = Worksheets("Anketa").Range("M1")
    Copy "tmpDetails", "a1:h5", "qDetails"
    Copy "tmpHeaders", "a1:g2", "qHeaders"
    Copy "tmpOutlets", "a1:f2", "outlets"
    n = n + 1
    Worksheets("Anketa").Range("M1") = n
End Sub

Sub Copy(ByVal Sheets As String, ByVal R1 As String, ByVal Paste As String)
    Worksheets(Sheets).Range(R1).Copy
    Worksheets(Paste).Range("A65536").End(xlUp).Offset(0, 0).PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
End Sub
Спасибо тебе Виктор))

Re: Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 18:20
VictorM
вот я сделал так)
Ну вот, все замечательно))

Re: Копирование на новый лист в EXEL

Добавлено: 15 сен 2010, 19:06
Zoj
)))спс еще раз огоромное! :)

Re: Копирование на новый лист в EXEL

Добавлено: 09 окт 2010, 20:38
Majckl
http://depositfiles.com/files/fp1imdwtw - все про VBA в MS OFFICE большинство для 2007 го и 2003 мне очень помогло