Другие языки программирования и технологии
Не могу разобраться с VBA Excel 2003 как копировать содер жимое одной ячейки в другую
Мне не надо приравнивание, так я умею, мне именно надо в деталях уточнить как работает оператор Copy не для копирования файлов а содержимого ячеек. заранее спасибо
в общем случае делается так
Sheets("Лист 1").Range("A1").Copy Destination:=Sheets("Лист2").Range("A1")
для очистки буфера и снятия пунктира выделения
Application.CutCopyMode = False
Sheets("Лист 1").Range("A1").Copy Destination:=Sheets("Лист2").Range("A1")
для очистки буфера и снятия пунктира выделения
Application.CutCopyMode = False
Выдели ячейку, скопируй, перейди на нужную, вставь...
Доброго времени суток.
Вот примерчик копирования средствами VBA.
Sub CopyCells()
Dim np As Long
Dim FstFillRow As Long, MaxFillRow As Long, StrtRow As Long
Dim D1 As Date, D2 As Date, D As Date
Sheets("Лист4").Select ' лист со списком (для примера - 4)
FstFillRow = 2 ' строка, с которой начинается список
MaxFillRow = 32767 ' максимально возможная строка
' ищем последнюю заполненную строку до первой пустой
np = Range("A" & FstFillRow & ":A" & MaxFillRow).End(xlDown).Row
D1 = Cells(3, 5).Value ' дата начала (E3)
D2 = Cells(3, 6).Value ' дата окончания (F3)
StartRow = 10 ' строка, начиная с которой будет выводится результат
For i = FstFillRow To np
d = Cells(i, 2).Value ' читаем столбец В
If D1 <= d And d <= D2 Then ' если дата попадает в интервал,
' копируем ячейку на новый лист (для примера - 5)
Range("A" & i).Copy Destination:=Worksheets("Лист5").Range("D" & StartRow)
StartRow = StartRow + 1
End If
Next i
End Sub
В столбце А некоторые значения, в В - даты. Пример копирует на другой лист те значения, даты для которых попадают в интервал, заданный ячейками E3 и F3
Удачи!
Вот примерчик копирования средствами VBA.
Sub CopyCells()
Dim np As Long
Dim FstFillRow As Long, MaxFillRow As Long, StrtRow As Long
Dim D1 As Date, D2 As Date, D As Date
Sheets("Лист4").Select ' лист со списком (для примера - 4)
FstFillRow = 2 ' строка, с которой начинается список
MaxFillRow = 32767 ' максимально возможная строка
' ищем последнюю заполненную строку до первой пустой
np = Range("A" & FstFillRow & ":A" & MaxFillRow).End(xlDown).Row
D1 = Cells(3, 5).Value ' дата начала (E3)
D2 = Cells(3, 6).Value ' дата окончания (F3)
StartRow = 10 ' строка, начиная с которой будет выводится результат
For i = FstFillRow To np
d = Cells(i, 2).Value ' читаем столбец В
If D1 <= d And d <= D2 Then ' если дата попадает в интервал,
' копируем ячейку на новый лист (для примера - 5)
Range("A" & i).Copy Destination:=Worksheets("Лист5").Range("D" & StartRow)
StartRow = StartRow + 1
End If
Next i
End Sub
В столбце А некоторые значения, в В - даты. Пример копирует на другой лист те значения, даты для которых попадают в интервал, заданный ячейками E3 и F3
Удачи!
ctr + c переходишь на другую яйчейку, ctr + v
Похожие вопросы
- помогите с vba excel
- VBA EXCEL. Где найти список формул по английски??? чтоб потом вписывать формулы через VBA.
- Как в Excel 2007 посчитать сумму чисел в окрашенных ячейках
- Excel. Макрос. Найти в Листе1 значение активной ячейки из Листа2.
- Программа с массивом VBA Excel.
- Очень нужна помощь эксперта Excel 2003
- Помогите пожалуйста построить прямоугольник в VBA (Excel). Как не пытаюсь-постоянно выдаются ошибки.
- Как в VBA (Excel 2007) первые листы всех XLS файлов в папке перенести в один XLS файл?
- VBA (Excel)
- VBA Excel Обработка ошибки