Скопируйте диапазон в столбце с помощью Excel VBA - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь добавить кнопку, которая добавляет новый столбец после последнего столбца со значениями. Это работает.

Теперь я хочу скопировать значения в новый столбец. Значения должны быть скопированы из последнего столбца из строки 32 в последний со значением в столбце A. Сейчас у меня есть код для копирования всего столбца. Как мне сконцентрироваться на заданном диапазоне c?

Sub AddMeeting()
Dim ws As Worksheet
Dim lastcol As Long
 Set ws = ActiveSheet

lastcol = ws.Cells(32, ws.Columns.Count).End(xlToLeft).Column
Columns(lastcol).Copy Destination:=Columns(lastcol + 1)
Range ((Cells.Columns.Count.End(xlLeft)) & Range(32)), (lastcol + 1) & Cells.Rows.Count.End(xlUp)



 Application.CutCopyMode = False
End Sub

1 Ответ

1 голос
/ 26 февраля 2020

Значения должны быть скопированы из последнего столбца строки 32 в последний со значением в столбце A

Это то, что вы пытаетесь?

Option Explicit

Sub Sample()
    Dim ws As Worksheet
    Dim lRow As Long, lCol As Long
    Dim LastColumn As String
    Dim rngToCopy As Range

    '~~> Set this to the relevant worksheet
    Set ws = Sheet1

    With ws
        '~~> Find last row in Col A
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row
        '~~> Find last column in row 32
        lCol = .Cells(32, .Columns.Count).End(xlToLeft).Column
        '~~> Get Column Name from column number
        ' https://stackoverflow.com/questions/10106465/excel-column-number-from-column-name
        LastColumn = Split(Cells(, lCol).Address, "$")(1)

        Set rngToCopy = .Range("A32:" & LastColumn & lRow)

        Debug.Print rngToCopy.Address

        With rngToCopy
            '
            '   Do what you want here
            '
        End With
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...