Автозаполнение данных в Excel - PullRequest
0 голосов
/ 18 мая 2019

enter image description here

У меня есть лист Excel с 8 столбцами и 1500 строками.

Есть два столбца данных метки, в которых (ограничение) От (Начало) и До (Конец)упомянуто.Мое требование - заполнить строки в соответствии с лимитом.

Пример. В первом ряду 1 (от) до 100 (до).Затем я хочу заполнить от 1 до 100 в строках (100) и перетащить оставшиеся данные столбцов во все 100 строк.В каждой строке изменяется только столбец данных метки, а остальные данные являются общими.Я хочу сделать это для 100 строк.

Я попытался заполнить каждую строку путем перетаскивания вручную.Есть ли какое-то решение для этого?

enter image description here

1 Ответ

1 голос
/ 19 мая 2019

Data and Output

Вы можете попробовать код ниже:

Sub autoFillDataInExcel()

Dim dSh As Worksheet
Set dSh = ThisWorkbook.Sheets("DATA") 'Worksheet that contains data to process
Dim oSH As Worksheet
Set oSH = ThisWorkbook.Sheets("OUTPUT") 'Ouput data

Dim data1 As String, data2 As String
Dim rFrom As Long, rTo As Long
Dim ouputRow As Long
outputRow = 2 'Default row for output worksheet

Application.ScreenUpdating = False

For a = 2 To dSh.Range("A" & Rows.Count).End(xlUp).Row 'Loop until the last row of Column A
    'Transfer data to variable
    data1 = dSh.Range("A" & a).Value
    data2 = dSh.Range("B" & a).Value
    rFrom = dSh.Range("C" & a).Value
    rTo = dSh.Range("D" & a).Value

    For b = rFrom To rTo 'Loop based on the range number
        oSH.Range("A" & outputRow).Value = data1
        oSH.Range("B" & outputRow).Value = data2
        oSH.Range("C" & outputRow).Value = b
        outputRow = outputRow + 1 'Increment Output row for the next data
    Next b
Next a

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