-1

Есть для бывших. 10 строк на одном листе. Когда пользователь нажимает на один ряд, он должен быть представлен на другом листе. Является ли это возможным? Любая помощь, чтобы сделать это?

РЕДАКТИРОВАТЬ: уточнить: на одном листе представлены, например, оценки студенческого экзамена на первый год: Джон 10 8 10 7 Ник 8 9 8 9 Мария 7 8 8 7

На 2-м листе есть информация о студентах на втором курсе: Джон 9 9 10 8 Ник 8 8 9 7 Мария 7 6 8 8

Я хочу дать какой-то окончательный сертификат для студента, поэтому сводная информация должна быть представлена на третьем листе. Мне не нужно быть на клике. На третьем листе может быть выпадающий список.

1 ответ1

1

Это будет быстрый макрос для этого:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  With Sheet2.UsedRange
    'note, this won't copy to row 1, leaving headers intact.
    Target.EntireRow.Copy (.Rows(.Rows.Count + 1).EntireRow)
  End With
End Sub

Тем не менее, использование его с изменением выбора может быть довольно раздражающим, потому что оно будет выполняться каждый раз, когда вы выбираете другую ячейку - так что вы можете подумать об использовании какой-либо обратной проверки или другого способа выполнить это.

Может быть, просто использовать код в качестве пользовательского макроса и назначить ярлык.

редактировать

Если вы хотите сделать это только с формулами, вам нужно настроить каждую ячейку строки назначения с помощью формулы. Я не знаю способа изменить ячейку напрямую, используя формулу, кроме, конечно, ячейки с формулой.

Тогда я бы предложил использовать другие именованные диапазоны, VLOOKUP или MATCH.

Именованный диапазон может быть очень близок к тому, что вы заявили:

На листе назначения:

A1=14

A2=MYRANGE
B2=MYRANGE
.
.
.
IV2=MYRANGE

MYRANGE определяется как

=INDIRECT("SourceSheet!"&DestSheet!$A$1&":"&DestSheet!$A$1)

Это даст вам строку 14 листа назначения. Это также будет работать, если A1 находится на SourceSheet, просто измените его соответствующим образом.

Так же легко вы можете использовать два именованных диапазона:

MYDESTRANGE=SourceSheet!MYSOURCERANGE

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .