Как добавить значения в таблицу с помощью VBA - PullRequest
0 голосов
/ 24 июня 2019

У меня есть форма, и я хочу, чтобы, когда я нажимал на кнопку, эти значения добавлялись в таблицу, которая находится у меня на другом листе, я пытался определить последнюю строку с помощью UsedRange.Row, но она оказалась ниже созданной таблицы.Каким образом я могу решить эту проблему?

Sub agregar()
    Dim fecha As String
    Dim nombre As String
    Dim dia As String
    Dim cant_1 As Integer
    Dim cant_2 As Integer
    Dim cant_3 As Integer
    Dim ped_1 As String
    Dim ped_2 As String
    Dim ped_3 As String
    Dim pre_1 As Double
    Dim pre_2 As Double
    Dim pre_3 As Double
    Dim procede As String
    Dim ultimafila As Double


    fecha = Cells(4, 3).Value
    nombre = Cells(5, 3).Value
    dia = Cells(4, 5).Value
    cant_1 = Cells(6, 4).Value
    cant_2 = Cells(7, 4).Value
    cant_3 = Cells(8, 4).Value
    ped_1 = Cells(6, 3).Value
    ped_2 = Cells(7, 3).Value
    ped_3 = Cells(8, 3).Value
    pre_1 = Cells(6, 7).Value
    pre_2 = Cells(7, 7).Value
    pre_3 = Cells(8, 7).Value
    procede = Cells(6, 9).Value

    ultimafila = Worksheets("Control semanal").UsedRange.Row - 1 + Worksheets("Control semanal").UsedRange.Rows.Count

    Worksheets("Control semanal").Cells(ultimafila + 5, 2).Value = dia
    Worksheets("Control semanal").Cells(ultimafila + 5, 3) = fecha
    Worksheets("Control semanal").Cells(ultimafila + 5, 4) = nombre
    Worksheets("Control semanal").Cells(ultimafila + 5, 7) = ped_1
    Worksheets("Control semanal").Cells(ultimafila + 6, 7) = ped_2
    Worksheets("Control semanal").Cells(ultimafila + 7, 7) = ped_3
    Worksheets("Control semanal").Cells(ultimafila + 5, 8) = cant_1
    Worksheets("Control semanal").Cells(ultimafila + 6, 8) = cant_2
    Worksheets("Control semanal").Cells(ultimafila + 7, 8) = cant_3
    Worksheets("Control semanal").Cells(ultimafila + 5, 9) = pre_1
    Worksheets("Control semanal").Cells(ultimafila + 6, 9) = pre_2
    Worksheets("Control semanal").Cells(ultimafila + 7, 9) = pre_3

End Sub

Я хочу добавить его в таблицу

1 Ответ

0 голосов
/ 25 июня 2019

вы можете использовать комбинацию клавиш в макросах, удерживая нажатой клавишу управления и нажимая клавишу направления (пример ниже), вы окажетесь в последнем элементе со значением в этой строке или столбце (вставьте значение после этого)

Sub InsertMacro()
    'select a row rank and copy'
    Range("A3:C3").Select
    Selection.Copy
    Sheets("weekly_control").Select
    'select the first element of the table header'
    'note: table created by the insert table method'
    Range("Tabla1[[#Headers],[NAME]]").Select
    'End(xlDown) = equivalent to Control and direction key (below)'
    'Offset(1, 0) = insert value one row below the last added value'
    Selection.End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'return to previous page and clean range of copied cells'
    Sheets("form").Select
    Range("A3:C3").ClearContents
End Sub

Код комбинации клавиш можно выбрать, создав макросы с помощью записей (этот код был optenido с помощью записи, а затем изменен для удобства)

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