Как вставить / скопировать в базу Excel по номеру другого столбца в Excel VBA или нет - PullRequest
0 голосов
/ 28 ноября 2018

По сути, я хотел бы получить простой способ для следующего примера сценария: Количество копий A, B и C на основе строк чисел.Конечно, количество строк намного больше приведенного ниже примера в реальных случаях.

От

A  1
B  2
C  3
   6
   7

до

A  1
A  2
A  3
A  6
A  7
B  1
B  2
B  3
B  6
B  7
C  1
C  2
C  3
C  6
C  7

Любой быстрый способ?

Чтобы продолжить,

Ниже функция и VBA решили мой вопрос выше.

Используется ниже функция, чтобы получить первый столбец

= INDEX (Лист1! A: A, ROUNDUP(ROW () / 5,0))

Кто-нибудь знает соответствующий код VBA для этой части?Функция работает, однако, это не очень удобно, когда слишком много строк.Будет здорово установить диапазон в VBA.

Во втором столбце использовался код VBA, как показано ниже (пробовал несколько столбцов, так что VBA немного отличается от вопроса):

Sub Macro1()
'
' Macro1 Macro
'
 Dim lastRow As Long

 ' Subdivision total row number
    a = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
  ' Porject total row number
    b = Worksheets("sheet1").Cells(Rows.Count, 2).End(xlUp).Row
        Sheets("Sheet1").Select
    ' Project total cell range
    Range("B1:C5").Copy
    Range("F1").Select
    Sheets("Sheet1").Paste
    ' Row number need to -1 as the first copy is done above
  For i = 1 To A - 1
    lastRow = Sheets("Sheet1").Cells(Rows.Count, "F").End(xlUp).Row + 1
    Range("F" & lastRow).Select
    ActiveSheet.Paste
  Next
End Sub

1 Ответ

0 голосов
/ 29 ноября 2018

Ниже функция и VBA решили мой вопрос выше.

Используется ниже функция, чтобы получить первый столбец

= INDEX (Лист1! A: A, ROUNDUP (ROW () / 5,0))

Кто-нибудь знает соответствующий код VBA для этой части?Функция работает, однако, это не очень удобно, когда слишком много строк.Будет здорово установить диапазон в VBA.

Во втором столбце использовался код VBA, как показано ниже (пробовал несколько столбцов, так что VBA немного отличается от вопроса):

Sub Macro1()
'
' Macro1 Macro
'
 Dim lastRow As Long

 ' Subdivision total row number
    a = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
  ' Porject total row number
    b = Worksheets("sheet1").Cells(Rows.Count, 2).End(xlUp).Row
        Sheets("Sheet1").Select
    ' Project total cell range
    Range("B1:C5").Copy
    Range("F1").Select
    Sheets("Sheet1").Paste
    ' Row number need to -1 as the first copy is done above
  For i = 1 To A - 1
    lastRow = Sheets("Sheet1").Cells(Rows.Count, "F").End(xlUp).Row + 1
    Range("F" & lastRow).Select
    ActiveSheet.Paste
  Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...