У меня есть две таблицы, я хочу вставить столбцы один за другим из листа1 в столбцы один за другим. Мои данные таковы:

Sheet1:
  A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V 
  12      14      9      20       6       7       21       6      23      12      23
   2       4      5       6       8       9        9       0       7       5      12 
   1      12     14      14      15       6       43      21      65       5      33

Sheet2:
 A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V
  1       2      4        2      23      13       4       6       7      56      45
 12      13     13       12      14      13      34      34      65      75       4
 11      22     33       44      44      23      24      54      32      23      12

Я хочу вставить столбец A из листа1 в sheet2 в столбце B, аналогичным образом я хочу вставить столбец C в sheet1 в столбец D в sheet2 и т.д.

У меня около 24 таких строк и 326 столбцов в листах 1 и 2 соответственно. Пожалуйста, сообщите мне об автоматической процедуре, связанной с таким типом склеивания? Я использую Excel 2010.

2 ответа2

1

Вставьте столбец в крайнем левом углу листа 2 и в новом листе A1 введите:

=IF(ISODD(COLUMN()),Sheet1!A1,Sheet2!A1)  

скопируйте поперек и вниз, чтобы удовлетворить.

0

Этот макрос делает это для вас

Sub Button4_Click()

Dim col As Integer
col = 65

Dim preCol As Integer
preCol = 64

Do While (True)    

    If (col > 90) Then
        preCol = preCol + 1
        col = 65
    End If

    If (preCol = 64) Then

        If (Sheets("Sheet1").Range(Chr(col) & "1") = "") Then
            Exit Do
        End If

        Sheets("Sheet1").Columns(Chr(col) & ":" & Chr(col)).Copy Sheets("Sheet2").Range(Chr(col + 1) & "1")

    Else

        If (Sheets("Sheet1").Range(Chr(preCol) & Chr(col) & "1") = "") Then
            Exit Do
        End If

        Sheets("Sheet1").Columns(Chr(preCol) & Chr(col) & ":" & Chr(preCol) & Chr(col)).Copy Sheets("Sheet2").Range(Chr(preCol) & Chr(col + 1) & "1")

    End If

col = col + 2
Loop

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .