Копировать содержимое ячейки из одного столбца в другой столбец на том же листе --- Макрос? - PullRequest
0 голосов
/ 07 июня 2011

У меня есть номера счетов в столбце E, и мне нужно их скопировать в столбец H для любой ячейки, содержащей значение.

Конечным результатом будет E1 = H1 и так далее, пока все ячейки столбца E не будут скопированы в кулон H.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 08 июня 2011

Другой вариант:

Sub copy()

  numrows = Cells.SpecialCells(xlLastCell).Row
  Range("E1:E" & numrows & "").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("H1")

End Sub

Столбцы могли также быть переданы как переменные при необходимости.

Sub runCopy()

  Call copy("E", "H")

End Sub

Sub copy(col1, col2)

  numrows = Cells.SpecialCells(xlLastCell).Row
  Range("" & col1 & "1:" & col1 & "" & numrows & "").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("" & col2 & "1")

End Sub
0 голосов
/ 07 июня 2011
Option Explicit

Public Sub x()

    Call copy_acct_nums("E", "H")

End Sub

Private Sub copy_acct_nums(copy_from_col, copy_to_col)

    Application.ScreenUpdating = False
    Dim i As Long

    With ActiveWorkbook.ActiveSheet

        For i = 1 To .UsedRange.Rows.Count Step 1
            .Cells(i, copy_to_col).Value = .Cells(i, copy_from_col).Value
        Next i

    End With

    Application.ScreenUpdating = True

End Sub

Если у вас есть несколько листов, к которым вам нужно применить этот код, вы можете добавить аргумент листа в подпрограмму копирования.Я оставлю это вам: D

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