Dim sadr As String
sadr = "F3:Q71,S3:AP71"
Dim SWB As Workbook
Set SWB = Workbooks("book1.xlsx")
Dim i As Long
For Each Sheet In SWB.Sheets
If Sheet.Visible = True Then c = c + 1
Next
For i = 2 To c
With WB.Worksheets("Sheet1")
SWB.Worksheets(i).Range(sadr).Copy
Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
End With
Конструкция призвана копипастить в нужное место конкретный диапазон всех листов конкретной книги , тесть собираю данные для сводной таблицы. В коде опущены условия куда чего вставлять, дабы не засорять взгляд.
Вопрос простой: как вместо одной книги book1.xlsx проходить по нескольким книгам единожды обозначив их имена? Понятно, что можно скопировать сам код нужное количество раз и прописав имена книг радоваться жизни. Но хочется чтобы было красиво. И уж больно много времени я на это убил - жалко впустую тратить)))
Столкнулся с такой задачей, нужно из левого столбца скопировать формулы (они же ссылки) через один с стролбец вправо. При этом ссылка должна после копирования несколько преобразоваться.
Ссылка на файл вида [01_2016.xls]Sheet1'!A1 а нужно [02_2016.xls]Sheet1'!C1 т.е. нужно сначала сделать +1 к цифре в имени файла а затем заменить букву не на следующую а тоже на +1
Слепил такой простенькй макрос.
Код
Sub Draft()
Dim C As Range
For Each C In Range("AM8:AN73")
If C.Formula Like "='\\*" Then
C.Copy
C.Offset(, 1).PasteSpecial Paste:=xlPasteFormulas
End If
Next
end sub
Потом сломал всю голову как же решить проблему с изменением имени файла и смещением на столбец.
Можете помочь? Или подсказать направление куда копать.
Доброго времени суток! Уважаемые макрописатели, помогите пожалуйста довести до ума код.
Код
Sub Statment_prepare()
Sheets("Sheet1.").Range("AL74").End(xlToLeft).Offset(, -1).EntireColumn.Resize(, 2).Select 'выделяю два крайних левых столбца
Selection.Copy Destination:=Range("AL74").End(xlToLeft).Offset(, 2).EntireColumn 'вставляю выделнное с через один столбец
' до этого момента все работает, теперь начинается затык
Find("суммеслн").Select 'вот тут я хочу в выделенных крайних левых столбцах пройтись по всем ячейкам и заменить формулы вида "суммесли" на значения.
Макрос заменяющий формулы на значения у меня в арсенале есть. Фокус в том, что не получается элементарщина найти и выделить. Что не так ???
Помогите пожалуйста оптимизировать макрос. Смысл в том, чтобы в открытой книге в столбик выстроить ссылки на заданную ячейку каждого листа другой книги.
Он конечно работает, но наверняка листы другой книги можно перебирать как то более изящно. Искал разные варианты ни один нормально не заработал
Код
Sub Link_paste()
Dim DestBook As String
Dim DR As String
DestBook = "book.xlsx" ' книга из которой берем ячейку
DR = "X63" ' ячейка на которую ссылаемся
On Error GoTo Errors1
Workbooks(DestBook).Activate
Worksheets(Index + 1).Activate 'вот это повторяется от 1 до 20 раз,
Range(DR).Select
Selection.Copy
Workbooks("Book2.xlsm").Activate 'рабочая книга куда вставляем линк
Cells(Rows.Count, 2).End(xlUp).Offset(1).Select
ActiveSheet.Paste link:=True
Workbooks(DestBook).Activate
Worksheets(Index + 2).Activate
Range(DR).Select
Selection.Copy
Workbooks("Book2.xlsm").Activate
Cells(Rows.Count, 2).End(xlUp).Offset(1).Select
ActiveSheet.Paste link:=True
Workbooks(DestBook).Activate
Worksheets(Index + 3).Activate
Range(DR).Select
Selection.Copy
Workbooks("Book2.xlsm").Activate
Cells(Rows.Count, 2).End(xlUp).Offset(1).Select
ActiveSheet.Paste link:=True
Errors1: MsgBox ("Достингут конец книги")
End Sub