Excel: как переместить данные из одного столбца в другой столбец - PullRequest
0 голосов
/ 03 мая 2020

У меня есть одна проблема. Мне нужно переместить данные из одного столбца в другой в альтернативных строках в MS-Excel.

Чтобы упростить задачу, см. снимок экрана . Он показывает точный вывод, который мне нужен.

Если возможно, предоставьте решение через формулу , а не код VBA.

Заранее большое спасибо за вашу любезную поддержку.

С уважением Джеймс

Как переместить ячейку в Excel

1 Ответ

3 голосов
/ 03 мая 2020

ROW-зависимые формулы

Для настройки на скриншоте используйте следующие формулы:

[G2] =IF(MOD(ROW(),2)=0,C3,"")
[H2] =IF(MOD(ROW(),2)=0,C2,"")

Вот решение VBA, если вы действительно хотите переставить (переместить) данные на месте:

Option Explicit

Sub MoveData()

    Const wsName As String = "Sheet1"     ' Worksheet Name
    Const srcRange As String = "C2:C11"   ' Source Range Address
    Const tgtRange As String = "B2:C11"   ' Target Range Address

    Dim ws As Worksheet     ' Worksheet
    Dim Source As Variant   ' Source Array
    Dim Target As Variant   ' Target Array
    Dim i As Long           ' Source/Target Array Element (Row) Counter

    ' Define worksheet.
    Set ws = ThisWorkbook.Worksheets(wsName)
    ' Copy Source Range to Source Array.
    Source = ws.Range(srcRange)

    ' Copy values from Source Array to Target Array.
    ReDim Target(1 To UBound(Source), 1 To 2)
    For i = 1 To UBound(Target) Step 2
        Target(i, 1) = Source(i + 1, 1)
        Target(i, 2) = Source(i, 1)
    Next i

    '-Copy values from Target Array to Target Range.
    ws.Range(tgtRange) = Target

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