Добрый вечер.Недавно начал заниматься программированием VBA и столкнулся со следующей ситуаций .
Необходимо из 1 документа скопировать значения в другой документ(Пример из А1 документа первый в А4/10 документа второй.Значение будет копироваться на А4, в результате чего будет производиться деление с обновлёнными данными)
Заранее большое спасибо!
Необходимо из 1 документа скопировать значения в другой документ(Пример из А1 документа первый в А4/10 документа второй.Значение будет копироваться на А4, в результате чего будет производиться деление с обновлёнными данными)
Заранее большое спасибо!
Код |
---|
Dim filetoopen4 As Variant, file3 As Workbook, sheetS As Worksheet, a As Variant, file4 As Workbook, Index As Long, i As Long i = InputBox("Ввести от 1 до 12") Set file3 = Workbooks("1") Set sheetS = Workbooks("1").Worksheets("2") Set sheetV7 = Workbooks("1").Worksheets("3") Workbooks("1").Worksheets("2").Activate sheetS.Range("AQ1") = i filetoopen4 = Application.GetOpenFilename(Title:="?????") If filetoopen4 <> False Then Set file4 = Workbooks.Open(filetoopen4) Dim wb As Workbook, sh As Worksheet: Set wb = ActiveWorkbook: Set sh = wb.Worksheets("ХМАО") Dim sh1 As Worksheet: Set sh1 = wb.Worksheets("в") Dim sh2 As Worksheet: Set sh2 = wb.Worksheets("С") Dim sh3 As Worksheet: Set shG = wb.Worksheets("Г") Dim sh4 As Worksheet: Set shC = wb.Worksheets("ц") With sh .Cells(21, 3).Copy sheetS.Cells(119, 28 + i) .Cells(28, 3).Copy sheetS.Cells(120, 28 + i) .Cells(31, 3).Copy sheetS.Cells(121, 28 + i) .Cells(21, 1).Copy sheetS.Cells(129, 28 + i) .Cells(28, 1).Copy sheetS.Cells(130, 28 + i) .Cells(31, 1).Copy sheetS.Cells(131, 28 + i) .Cells(70, 2).Copy sheetS.Cells(134, 28 + i) .Cells(77, 2).Copy sheetS.Cells(135, 28 + i) .Cells(80, 2).Copy sheetS.Cells(136, 28 + i) .Cells(21, 6).Copy sheetS.Cells(140, 28 + i) .Cells(28, 6).Copy sheetS.Cells(141, 28 + i) .Cells(31, 6).Copy sheetS.Cells(142, 28 + i) .Cells(70, 11).Copy sheetS.Cells(146, 28 + i) .Cells(77, 11).Copy sheetS.Cells(147, 28 + i) .Cells(80, 11).Copy sheetS.Cells(148, 28 + i) .Cells(70, 10).Copy sheetS.Cells(158, 28 + i) .Cells(77, 10).Copy sheetS.Cells(159, 28 + i) .Cells(80, 10).Copy sheetS.Cells(160, 28 + i) End With sh1.Cells(46, 3).Copy sheetS.Cells(111, 28 + i) sh1.Cells(21, 3).Copy sheetV7.Cells(111, 28 + i) sh2.Cells(13, 10).Copy sheetS.Cells(113, 28 + i) shC.Cells(15, 4).Copy sheetV7.Cells(113, 28 + i) shG.Cells(22, 14).Copy sheetV7.Cells(109, 28 + i) End If wb.Close (False) |