Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   Excel | Возможно ли такое ? копирование-ссылка ? (http://forum.oszone.net/showthread.php?t=167757)

PLATON 18-02-2010 11:51 1350189

Excel | Возможно ли такое ? копирование-ссылка ?
 
Вообщем ребят подскажите, вообще запутался

Вообщем есть книга в ней 3 листа

1 - лист (Данные работников ФИО, должность, стаж, телефон)
2 - лист (ФИО и должность)
3 - лист (Фио)

Все листы у меня сделаны как бы с 1 листа берутся данные копируются на другие листы ='Список '!B21
Вообщем нужно вот, что.

1. Допустим у меня на 1 листе таблица из 20 фамилий и данных о них
2. Бывает такое что люди уходят и мне надо удалить 1 человека из списка

Как сделать что бы при удалении 1 строки с 1 листа, на других двух они тоже удалялись а не оставалась ячейка с "ССЫЛКА" ???

Заранее благодарю!

npavel 18-02-2010 23:00 1350672

Если не принципиально наличие функции, то сводная таблица вам в помощь. :)

PLATON 19-02-2010 01:40 1350771

а еще есть варианты, просто функции, есть в некоторых листах

npavel 19-02-2010 16:42 1351227

Поподробнее, можно - что за функции у Вас используются с текстовыми значениями? :blind: Пример файла?

Pliomera 20-02-2010 01:41 1351647

PLATON, легко можно сделать. VBA.

Пусть на листе, на котором вы удаляете строки (назовем его условно главным), список фамилий расположен в 1 столбце. Откройте редактор VBA и в модуль этого листа впишите следующий код:

Код:

Dim SurName As String

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
SurName = Target.Cells(1).Value
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Worksheet
For Each x In Sheets
If Not x.Cells.Find(SurName) Is Nothing Then x.Rows(x.Cells.Find(SurName).Row).Delete
Next x
End Sub

Если фамилии не в 1-м столбце, просто в строке SurName = Target.Cells(1).Value замените единичку на номер столбца с фамилиями.

При удалении строки с фамилией на главном листе с помощью правого клика по заголовку строки и выбора команды удалить (delete) данный код автоматически найдет соответствующую фамилию на всех остальных листах книги (сколько бы их ни было) и удалит с них строки, ее содержащие.

Надеюсь о том, как открыть редактор VBA и записать код в модуль листа - вам известно. Если нет - спрашивайте. Удачи.


Время: 12:46.

Время: 12:46.
© OSzone.net 2001-