Заполнение ячеек на основе значений в диапазоне - PullRequest
1 голос
/ 04 августа 2010

Мне нужна помощь в написании подпрограммы для моей программы в Excel.То, что я пытаюсь сделать, это взять информацию с одного листа (мастер штрих-кода) и заполнить ее на другой лист (шаблон).Я записал макрос, и это привело меня к копированию и вставке информации.На основной таблице штрих-кодов у меня есть диапазон штрих-кодов, перечисленных с начальным номером в ячейке столбца A и конечным номером в ячейке столбца B. Я хочу взять начальный номер и скопировать его в ячейку A4шаблон и заполните его до тех пор, пока он не будет равен конечному числу штрих-кодов.Также на мастере штрих-кода, где находится начальный номер, я хочу, чтобы он всегда был последней заполненной ячейкой в ​​строках A и B. Вот что у меня есть.пожалуйста помоги.Спасибо

Sub Macro9()

// Macro9 Macro
// Macro recorded 7/30/2010 by Christina 



    Sheets("barcode master").Select
    Range("D648").Select
    Selection.Copy
    Sheets("barcode template").Select
    Range("F1").Select
    ActiveSheet.Paste
    Sheets("barcode master").Select
    Range("E648").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("barcode template").Select
    Range("J1").Select
    ActiveSheet.Paste
    Sheets("barcode master").Select
    Range("F648").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("barcode template").Select
    Range("B1").Select
    ActiveSheet.Paste
    Sheets("barcode master").Select
    Range("A648").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("barcode template").Select
    Range("A4").Select
    ActiveSheet.Paste
    Range("a5").Value = Range("a4") + 1

End Sub

1 Ответ

4 голосов
/ 04 августа 2010

Из вашего поста не совсем ясно, чего вы пытаетесь достичь, поэтому мне придется сделать некоторые предположения ...

  • В книге у вас есть два листа с именем Master иTemplate
  • В Master столбец A содержит начальный номер штрих-кода, а столбец B - конечный номер
  • . Вы хотите выбрать последнюю строку в Master столбец Aвставьте это значение в Template ячейку A4, а затем заполняйте значения до тех пор, пока они не совпадут с последней ячейкой в ​​столбце B Master

Пример: для ячейки A10 значение начального штрих-кода 100 , а ячейка B10 имеет значение конечного штрих-кода 110 .На Template вы хотите, чтобы ячейка A4 начиналась с 100, а заполнение - до 110 (т. Е. 100, 101, 102, 103 ... 110)

Если предположить, что ваши требования верны, тогда этот код будет работать:

Sub CopyBarCodes()
'First clear Template sheet of previous values
Worksheets("Template").Range("A:A").ClearContents

'Now select last entry in Master sheet and get start and end bar code numbers
Dim startBarCode As Long, endBarCode As Long
Dim lastRow As Long

With Worksheets("Master")
    lastRow = .Range("A1").End(xlDown).Row
    startBarCode = .Range("A" & lastRow)
    endBarCode = .Range("B" & lastRow)
End With

'Update Template with barcode
With Worksheets("Template")
    .Range("A4").Value = startBarCode
    .Range("A4").DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=1, Stop:=endBarCode, Trend:=False
End With

End Sub

Надеюсь, это поможет ...

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