Добрый день, скажите как это сделать? Есть например 4 листа , пишу формулу =Лист1!A2+Лист2!A2+Лист3!A2+Лист4!A2 , Значения в листах 1,0,5,0., =6, как сделать, чтобы в ячейке с формулой автоматом создавался комментарий, в котором будет указано название листов из которых взяты значения >0, 1 и 5 в этом примере. Спасибо
Добрый день, скажите как это сделать? Есть например 4 листа , пишу формулу =Лист1!A2+Лист2!A2+Лист3!A2+Лист4!A2 , Значения в листах 1,0,5,0., =6, как сделать, чтобы в ячейке с формулой автоматом создавался комментарий, в котором будет указано название листов из которых взяты значения >0, 1 и 5 в этом примере. СпасибоFitcher
Private Sub Worksheet_Calculate() tx = "" If Val(Sheets("Лист1").Range("A2")) > 0 Then tx = "Лист1 = " & Sheets("Лист1").Range("A2") & " " End If If Val(Sheets("Лист2").Range("A2")) > 0 Then tx = tx & "Лист2 = " & Sheets("Лист2").Range("A2") & " " End If If Val(Sheets("Лист3").Range("A2")) > 0 Then tx = tx & "Лист3 = " & Sheets("Лист3").Range("A2") & " " End If If Val(Sheets("Лист4").Range("A2")) > 0 Then tx = tx & "Лист4 = " & Sheets("Лист4").Range("A2") End If Sheets("Лист1").Range("C2").ClearComments Sheets("Лист1").Range("C2").AddComment tx Sheets("Лист1").Range("C2").Comment.Visible = True End Sub
[/vba]
Вот так нахимичил макросом. [vba]
Код
Private Sub Worksheet_Calculate() tx = "" If Val(Sheets("Лист1").Range("A2")) > 0 Then tx = "Лист1 = " & Sheets("Лист1").Range("A2") & " " End If If Val(Sheets("Лист2").Range("A2")) > 0 Then tx = tx & "Лист2 = " & Sheets("Лист2").Range("A2") & " " End If If Val(Sheets("Лист3").Range("A2")) > 0 Then tx = tx & "Лист3 = " & Sheets("Лист3").Range("A2") & " " End If If Val(Sheets("Лист4").Range("A2")) > 0 Then tx = tx & "Лист4 = " & Sheets("Лист4").Range("A2") End If Sheets("Лист1").Range("C2").ClearComments Sheets("Лист1").Range("C2").AddComment tx Sheets("Лист1").Range("C2").Comment.Visible = True End Sub
Wasilic, спасибо огромное, а если для таблиц это делать и чтобы комментарий не висел постоянно это будет выглядеть примерно так? 300 строк копировать с изменением ячейки или можно диапазон указать как-то? там примерно 10 листов с таблицей в 30 строк и 31 столбец, и 1 итоговая таблица
[vba]
Код
Private Sub Worksheet_Calculate() tx = "" If Val(Sheets("Лист1").Range("A2")) > 0 Then tx = "Лист1 = " & Sheets("Лист1").Range("A2") & " " End If If Val(Sheets("Лист1").Range("B2")) > 0 Then tx = "Лист1 = " & Sheets("Лист1").Range("B2") & " " End If If Val(Sheets("Лист1").Range("C2")) > 0 Then tx = "Лист1 = " & Sheets("Лист1").Range("C2") & " " End If If Val(Sheets("Лист2").Range("A2")) > 0 Then tx = tx & "Лист2 = " & Sheets("Лист2").Range("A2") & " " End If If Val(Sheets("Лист3").Range("A2")) > 0 Then tx = tx & "Лист3 = " & Sheets("Лист3").Range("A2") & " " End If If Val(Sheets("Лист4").Range("A2")) > 0 Then tx = tx & "Лист4 = " & Sheets("Лист4").Range("A2") End If Sheets("Лист1").Range("C2").ClearComments Sheets("Лист1").Range("C2").AddComment tx Sheets("Лист1").Range("C2").Comment.Visible = False End Sub
[/vba] [moder]Нарушение п.3 Правил форума в части тегов. Поправил и очередное замечание влепил.
Wasilic, спасибо огромное, а если для таблиц это делать и чтобы комментарий не висел постоянно это будет выглядеть примерно так? 300 строк копировать с изменением ячейки или можно диапазон указать как-то? там примерно 10 листов с таблицей в 30 строк и 31 столбец, и 1 итоговая таблица
[vba]
Код
Private Sub Worksheet_Calculate() tx = "" If Val(Sheets("Лист1").Range("A2")) > 0 Then tx = "Лист1 = " & Sheets("Лист1").Range("A2") & " " End If If Val(Sheets("Лист1").Range("B2")) > 0 Then tx = "Лист1 = " & Sheets("Лист1").Range("B2") & " " End If If Val(Sheets("Лист1").Range("C2")) > 0 Then tx = "Лист1 = " & Sheets("Лист1").Range("C2") & " " End If If Val(Sheets("Лист2").Range("A2")) > 0 Then tx = tx & "Лист2 = " & Sheets("Лист2").Range("A2") & " " End If If Val(Sheets("Лист3").Range("A2")) > 0 Then tx = tx & "Лист3 = " & Sheets("Лист3").Range("A2") & " " End If If Val(Sheets("Лист4").Range("A2")) > 0 Then tx = tx & "Лист4 = " & Sheets("Лист4").Range("A2") End If Sheets("Лист1").Range("C2").ClearComments Sheets("Лист1").Range("C2").AddComment tx Sheets("Лист1").Range("C2").Comment.Visible = False End Sub
[/vba] [moder]Нарушение п.3 Правил форума в части тегов. Поправил и очередное замечание влепил.Fitcher
Сообщение отредактировал _Boroda_ - Пятница, 26.02.2016, 09:19
Wasilic, Может прописать для каждой ячейки это на 1000 строк? или всё тупить будет? (( Или есть другие варианты, у меня задача такая. 10 вкладок-это 10 магазинов, ассортимент товара на 30 строк и 31 столбец это дни месяца ( в идеале сделать на 3 месяца таблица). Магазин делает заказ 500шт такого товара на 20 число, и другой делает 1000шт на 20 число. У закупщика в сводной таблице появляется 1500шт и чтобы ему не искать кто это заказал, надо как-то указать в ячейке откуда нарисовалась сумма 1500шт
Wasilic, Может прописать для каждой ячейки это на 1000 строк? или всё тупить будет? (( Или есть другие варианты, у меня задача такая. 10 вкладок-это 10 магазинов, ассортимент товара на 30 строк и 31 столбец это дни месяца ( в идеале сделать на 3 месяца таблица). Магазин делает заказ 500шт такого товара на 20 число, и другой делает 1000шт на 20 число. У закупщика в сводной таблице появляется 1500шт и чтобы ему не искать кто это заказал, надо как-то указать в ячейке откуда нарисовалась сумма 1500штFitcher
это 10 магазинов, ассортимент товара на 30 строк и 31 столбец
Выложите файл оригинал с тремя листами. Иначе, в следующем сообщении будет так - "Wasilic, немного не так". И вообще, может там сводная подойдет. Вот простой вариант один клик по ячейке. Но, с условием, что все таблицы идентичны!!!
это 10 магазинов, ассортимент товара на 30 строк и 31 столбец
Выложите файл оригинал с тремя листами. Иначе, в следующем сообщении будет так - "Wasilic, немного не так". И вообще, может там сводная подойдет. Вот простой вариант один клик по ячейке. Но, с условием, что все таблицы идентичны!!!Wasilich
Wasilic, Не пропускают, там 2 листа уже больше 100кб ( последний Ваш вариант, то что нужно, попробую его расписать на все листы, спасибо большое
Wasilic, Не пропускают, там 2 листа уже больше 100кб ( последний Ваш вариант, то что нужно, попробую его расписать на все листы, спасибо большоеFitcher
Или каким-то другим способом обозначить из каких листов получилась сумма
А не хотите воспользоваться штатными средствами на Ленте: Формулы / блок "Зависимости формул"? И уже в блоке инструменты: "Вычислить формулу", "Влияющие ячейки".
Или каким-то другим способом обозначить из каких листов получилась сумма
А не хотите воспользоваться штатными средствами на Ленте: Формулы / блок "Зависимости формул"? И уже в блоке инструменты: "Вычислить формулу", "Влияющие ячейки".Gustav
А с ячейками много стрелок получается не видно текста.
А "Вычислить формулу"? Смотрите, какое симпатичное окошечко взлетает при даблклике на ячейке с суммой - и адреса слагаемых тебе видны, и их значения по кругу (после очередного нажатия кнопки "Вычислить"): [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target.Cells.Count > 1 Then Exit Sub
Target.Application.Dialogs(xlDialogEvaluateFormula).Show End Sub
А с ячейками много стрелок получается не видно текста.
А "Вычислить формулу"? Смотрите, какое симпатичное окошечко взлетает при даблклике на ячейке с суммой - и адреса слагаемых тебе видны, и их значения по кругу (после очередного нажатия кнопки "Вычислить"): [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target.Cells.Count > 1 Then Exit Sub
Target.Application.Dialogs(xlDialogEvaluateFormula).Show End Sub