Мне нужно взять столбец A, который имеет 2 значения в одной ячейке и создать строку для каждого номера между двумя значениями, но остальную часть столбцов так же, как и в исходная строка.excel macro для создания новой строки для числа diff
Вот мой текущий макрос.
Sub Macro1() ' ' Macro1 Макро '
' Dim CellValue As String strcellvalue = Replace (Range ("A9"). Value "", "") Если InStr (strcellvalue, "-") Тогда дим intCurrentBIN как двойная Тусклого intLastBIN As Double Тусклого intMainRow As Integer Dim intNewRow As Integer intMainRow = 9 intNewRow = intMainRow +-
intCurrentBIN = CDbl(Left(strcellvalue, InStr(strcellvalue, "-") - 1))
intLastBIN = CDbl(Right(strcellvalue, Len(strcellvalue) - InStr(strcellvalue, "-")))
Do While intCurrentBIN < (intLastBIN + 1)
Rows(intMainRow & ":" & intMainRow).Select
Selection.Copy
Rows(intNewRow & ":" & intNewRow).Select
Selection.Insert Shift:=xlDown
Range("A" & intNewRow).Select
ActiveCell.FormulaR1C1 = intCurrentBIN
intNewRow = intNewRow + 1
intCurrentBIN = intCurrentBIN + 1
Loop
Rows(intMainRow & ":" & intMainRow).Select
Selection.Delete
End If
End Sub
Самый лучший способ, чтобы получить помощь здесь сначала попробовать что-то. Если вы застряли, сделайте некоторое исследование, сделайте попытку исправить вещи самостоятельно, и только тогда задайте конкретный вопрос о ваших попытках. Вопросы, требующие полных решений без демонстрации исследовательских усилий, обычно закрываются и закрываются. –
Кажется, вам нужно начать изучать VBA и регулярные выражения. Регулярные выражения разбивают текст на цифры, а затем циклически повторяют время «the_difference», чтобы напечатать число и описание и код копирования для вновь добавленной строки в цикле. –
У меня есть это до сих пор, что работает на моем примере, но не на моем файле. Будет проверять и находить, могу ли я его улучшить. – user5469