Я знаю, я знаю. Есть тонна предложений, как решить эту конкретную проблему, но почему-то все они, как правило, терпят неудачу со мной.Excel: нажмите кнопку, чтобы скопировать строку на другую таблицу
То, что я (упрощенный): А (Mac), Excel-лист «Выход» с:
Name Time Date
Mike 08:00 01.01.2016
Вторая строка приносит данные, основанные на некотором входе на еще одном листе.
Что мне нужно: Всякий раз, когда я буду менять вторую строку «Выход» (т. Е. Меняя вход), я могу нажать кнопку, чтобы добавить всю вторую строку на новый рабочий лист «Журнал» (который будет содержать заголовок также). По существу, регистрируя данные при нажатии кнопки. Данные могут быть добавлены только один раз, удалены несколько записей одних и тех же данных. После регистрации данных в «Журнале» вторую строку «Выход» не нужно очищать, однако я не могу снова добавить те же данные.
Любые мысли?
* EDIT
Я изменил код здесь: http://goo.gl/48jjDo.
Sub Submit()
Application.ScreenUpdating = False
Dim refTable As Variant, trans As Variant
refTable = Array("A = A2", "B = B2", "C=C2")
Dim Row As Long
Row = Worksheets("Log").UsedRange.Rows.Count + 1
For Each trans In refTable
Dim Dest As String, Field As String
Dest = Trim(Left(trans, InStr(1, trans, "=") - 1)) & Row
Field = Trim(Right(trans, Len(trans) - InStr(1, trans, "=")))
Worksheets("Log").Range(Dest).value = Worksheets("Output").Range(Field).value
Next
Application.ScreenUpdating = True
End Sub
* Edit2
Хорошо это у меня дальше:
Sub CopyRangeFromSheet1toSheet2()
Dim lastRow As Long
lastRow = Sheets("Sheet2").Range("A100000").End(xlUp).Row + 1 ' then next free row in sheet2
Sheets("Sheet1").Range("A2:C2").Copy Destination:=Sheets("Sheet2").Range("A" & lastRow)
End Sub
Однако, как я могу проверить сейчас для нескольких данных? И мне нужно будет вставлять только значения.
Пожалуйста, после того, что код у вас есть. Кроме того, вы говорите, что огляделись, но не можете найти решение для работы - что вы нашли? Вы в основном хотите скопировать строку на второй лист, переписывая любую информацию на этом втором листе? – BruceWayne
В основном я ищу способ скопировать ряд на второй лист, но не переписывать его, а добавить его ниже его в первую свободную строку на втором листе. –
Просто используйте 'Activesheet.UsedRange.Rows.Count', чтобы найти последнюю строку на втором листе и поместите свои данные в следующую строку. –