Копирование значений из указанной ячейки в Sheet1 в указанный диапазон выбранных листов - PullRequest
0 голосов
/ 03 апреля 2019

Я хотел бы вставить значения из диапазона ячеек в sheet1 в определенный диапазон, заданный в ранее выбранных / активированных листах. Поэтому я хочу, чтобы он вставлял, скажем, только диапазон B1 и далее, но только для листов Sheet2, Sheet3 и NOT для Sheet4, так как я не выбрал его в своей книге.

Sub CopyFirstRow()
Dim Wb As Workbook
Dim Sht As Worksheet
Dim mySelectedSheets As Sheets

Wb.Sheets("Global").Range("B1", "Q39").Copy

Set mySelectedSheets = ActiveWindow.SelectedSheets


For Each Sht In mySelectedSheets
            ActiveSheet.Paste
Sht.Range("B1").PasteSpecial xlPasteValues
Next
Application.CutCopyMode = False
End With
End With

End Sub

Пожалуйста, объясните, что я делаю неправильно, так как я пытаюсь понять все больше и больше VBA и, в частности, функции SET, FOR, WITH.

1 Ответ

0 голосов
/ 03 апреля 2019

Вы затемняли wb, но никогда не устанавливали книгу.

У вас есть два "End With", но у вас нет начальных "With" .

У вас есть Activesheet.paste, но вы не выбрали лист

Sub Button1_Click()


    Dim Wb As Workbook
    Dim Sht As Worksheet
    Dim mySelectedSheets As Sheets

    Set Wb = ThisWorkbook

    Wb.Sheets("Global").Range("B1", "Q39").Copy

    Set mySelectedSheets = ActiveWindow.SelectedSheets


    For Each Sht In mySelectedSheets
        Sht.Range("B1").PasteSpecial xlPasteValues
    Next

    Application.CutCopyMode = False


End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...