Здравствуйте. Подскажите, пожалуйста, как проще обновлять данные в книге из другой книги, используя vba?
Sub macro()
Dim a As Range, f As Range, c As Long, d As Long, e As Single, month As String, i As Integer, g As Range, h As Long
Dim mdata As Date, n As Integer
n = InputBox("la", "na", "ba")
mdata = Date - 1
e = Left(Date - 1, 2)
h = 29
mdata = Date - 1
For i = 1 To n
mdata = mdata + 1
month = Format(mdata, "mmmm")
e = Left(mdata, 2)
h = h + 5
Windows("HLT" & month & " 2010.xls").Activate
Application.DisplayAlerts = False
ActiveWorkbook.Save
Application.DisplayAlerts = True
Set a = Range("3:3")
Set f = a.Find(e & "f",,xlValues,xlPart)
c = f.Row
d = f.Column
Range(Cells((c + 7), d), Cells((c + 137), d)).Copy
Windows("book.xls").Activate
Sheets("sheet1").Select
Cells(3, h).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
Next i
End Sub
наслаждаюсь мельканием окон и получаю нужный результат, решил переписать макрос так, чтобы данные извлекались без "copy" и "paste" и застопорился на этой строчке:
Application.Workbooks("book1.xls").Sheets("o1").Range("otgrdat" & dm) = "=R[7]C:R[162]C"
, в диапазон "otgrdat" & dm вставляются формула массива, а как вставить значения допетрить не могу( Помогите, пожалуйста, понять как значение диапазона вставлять. А может есть способ намного проще данные синхронизировать? Заранее спасибо)