Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
данные из неоткрытого файла
 
Спасибо, заработало !
данные из неоткрытого файла
 
Цитата
Hugo написал:
Так самая наипростейшая "функция", просто вводите в ячейку = и тыкаете в ячейку другого файла. Затем тот другой можно закрыть.
То ли лыжи не едут...

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

Т.е. файлы в окнах живут независимо и в обоих может быть открытая формула. Exel 2016

Если тыкать не в соседний файл, а на соседний лист, то вводится адрес ячейки
данные из неоткрытого файла
 
возможно глупый вопрос, но..

что нужно поместить в ячейку, чтобы получить в ней содержимое из другого файла?
на листе с макросами кроме этой строки еще что-то должно быть?
данные из неоткрытого файла
 
покажете как?
данные из неоткрытого файла
 
Попробовал. А можно указывать относительный путь?  (например как в DOS)
Если да, то как будет выглядеть ссылка на данные из файла 1.xlsx, находящегося в том же каталоге, что и исходный файл?
Формула вместо результата вычисления
 
решение через макрос тут http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=97794&...
по теме хочется все же узнать ответы:
1. что за странное поведение? http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=97778&...
2. как сделать относительную ссылку в обычном режиме ссылок http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=97778&amp...
Изменено: Наутилус - 06.11.2017 12:54:16
Автоматическое добавление даты для новой строки
 
ответ тут http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=97794&amp...
Формула вместо результата вычисления
 
Очень специфическое поведение.

Включаем режим ссылок R1C1

в новой строке
В столбец 2 вводим Люди Х
В столбец 3 число(любое)

все срабатывает верно

в новой строке
вводим в столбец 2 Галя
и видим знач во всех строках Люди Х

снова в новой строке
в столбец 2 Люди Х
в столбец 3 число
видим правильные цифры, но не во всех строках
еще раз введем в столбец 3 (в той же строке) число - теперь правильно везде

вот такие чудеса происходят )
Изменено: Наутилус - 06.11.2017 02:25:47
Запрос значения от пользователя и заполнение строки на его основании
 
дату не проставляет слева. т.е. не копирует с верхней ячейки

поправил. вот что получилось. наверное криво, но работает )
Код
Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim lReply As Long
 
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B2:B9999")) Is Nothing Then
    If Target = "Люди Х" Then
        Dim Znach1
        Znach1 = Application.InputBox("Введите 'Знач1'", Type:=1)
        If IsNumeric(Znach1) Then
            Application.EnableEvents = False
            Target.Offset(, 1) = Znach1
            Target.Offset(, 2) = Znach1 - Znach1 / 11
            Target.Offset(, 3) = (Znach1 - Target.Offset(, 2)) * 0.1
        End If
    End If
    If IsEmpty(Target) Then Exit Sub
      If WorksheetFunction.CountIf(Worksheets("Справочник").Range("Imena"), Target) = 0 Then
         lReply = MsgBox("Добавить новое имя " & _
                        Target & " в выпадающий список?", vbYesNo + vbQuestion)
         If lReply = vbYes Then
             Worksheets("Справочник").Range("Imena").Cells(Worksheets("Справочник").Range("Imena").Rows.Count + 1, 1) = Target
         End If
      End If
    End If
  Dim rg As Range, cell As Range
  Set rg = Intersect(Target, Range("B4:B1048576")):  If rg Is Nothing Then Exit Sub
  For Each cell In rg:   cell.Offset(0, -1) = IIf(IsEmpty(cell.Offset(0, -1)), cell.Offset(-1, -1), cell.Offset(0, -1)):  Next
  Application.EnableEvents = True
End Sub

Дату копирует только если она не заполнена. Для Люди Х запрашивает значение и вводит результат формул в нужные столбцы. Спасибо!
Изменено: Наутилус - 06.11.2017 02:18:25
Формула вместо результата вычисления
 
gling я не знаю точно, как это работает, но работает точно. вот в этой статье описано подробно... ищу..
не могу найти. похоже вот эта http://www.planetaexcel.ru/techniques/1/38/

upd:

да, но в таком варианте и расчет формулы происходит только для C6, но в С12 например другое значение и по той же формуле должно быть рассчитано уже для С12

upd2:
перевел в режим ссылок R1C1 в настройках - посчитало!! )
даже в таком варианте =ВЫЧИСЛИТЬ(СМЕЩ(Справочник!R1C5;ПОИСКПОЗ(Выбор_имени;Imena;0)-0;0;1;1)) работает, т.е. ВЫЧИСЛИТЬ можно сразу в имена запихнуть
вопрос теперь как в обычном режиме указать относительную ссылку?
Изменено: Наутилус - 06.11.2017 12:53:54
Формула вместо результата вычисления
 
Цитата
Sanja написал:
звучьте ЗАДАЧУ (наверное в другой теме)
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=97794&...

Честно сказать - решение, которое делается сейчас мне нравится больше. Имена у меня в любом случае используются, макрос не нужно допиливать
Изменено: Наутилус - 06.11.2017 00:46:06
Формула вместо результата вычисления
 
Sanja Ну с этого началось - написать макрос. В нескольких темах пытался найти части решения и решение целиком. Никто не ответил. В итоге сейчас с макрофункцией почти работает )
Формула вместо результата вычисления
 
ну наши с вами варианты отличаются только способом выбора формулы. Подозреваю что одно и то же, только написано по разному.
пример приложил. У меня Eval, тоже самое что у вас Результат
Изменено: Наутилус - 06.11.2017 00:37:56
Формула вместо результата вычисления
 
Дак это как раз то что мне нужно! )

давайте тогда дальше разбираться
Код
Премия_товара=СМЕЩ(Товары!$F$1;ПОИСКПОЗ(Выбор_товаров;Tovari;0)-0;0;1;1)

дает (RC[-2]-RC[-1])*0.1
как раз нужная формула (она указана в таблице соответствий)
а вот следующая дает #ЗНАЧ!
Код
Eval_премия=ВЫЧИСЛИТЬ(Премия_товара)

В чем ошибка?

п.с. Была попытка:
Код
Премия_товара=ВЫЧИСЛИТЬ(СМЕЩ(Товары!$F$1;ПОИСКПОЗ(Выбор_товаров;Tovari;0)-0;0;1;1) )

тоже #ЗНАЧ!
Изменено: Наутилус - 06.11.2017 00:16:07
Формула вместо результата вычисления
 
Не могу найти описание и разобраться. Что за функция ВЫЧИСЛИТЬ ? использована в вашем примере
Запрос значения от пользователя и заполнение строки на его основании
 
Здравствуйте большие специалисты )

Помогите переделать макрос

При вводе в ячейку B значения "Люди Х" должно появиться окно-вопрос
Введите значение Знач1. Вводим значение, жмем ОК.
Это введенное значение вносим в столбец справа (знач1) от Наименования
в столбец справа через 1 от наименования (знач2) вносим по формуле =Знач1-Знач1/11
в столбец справа через 2 от наименования (знач3) вносим по формуле =(Знач1-Знач2)*0.1
в столбец справа через 3 от наименования (знач4) вносим по формуле =Знач3

Макрос для внесения даты в столбец слева от наименования должен сработать только если в ячейке с датой еще нет значения:
Код
  Dim rg As Range, cell As Range
  Set rg = Intersect(Target, Range("B4:B1048576")):  If rg Is Nothing Then Exit Sub
  For Each cell In rg:   cell.Offset(0, -1) = IIf(IsEmpty(cell), Empty, cell.Offset(-1, -1)):  Next

Макрос на добавление нового Имени в Справочник должен сработать только если введено не "Люди Х":
Код
Dim lReply As Long
 
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B2:B9999")) Is Nothing Then
     If IsEmpty(Target) Then Exit Sub
       If WorksheetFunction.CountIf(Worksheets("Справочник").Range("Imena"), Target) = 0 Then
          lReply = MsgBox("Добавить новое имя " & _
                         Target & " в выпадающий список?", vbYesNo + vbQuestion)
          If lReply = vbYes Then
              Worksheets("Справочник").Range("Imena").Cells(Worksheets("Справочник").Range("Imena").Rows.Count + 1, 1) = Target
          End If
       End If
     End If
Макрос целиком (то что есть сейчас):
Код
Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim lReply As Long
 
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B2:B9999")) Is Nothing Then
     If IsEmpty(Target) Then Exit Sub
       If WorksheetFunction.CountIf(Worksheets("Справочник").Range("Imena"), Target) = 0 Then
          lReply = MsgBox("Добавить новое имя " & _
                         Target & " в выпадающий список?", vbYesNo + vbQuestion)
          If lReply = vbYes Then
              Worksheets("Справочник").Range("Imena").Cells(Worksheets("Справочник").Range("Imena").Rows.Count + 1, 1) = Target
          End If
       End If
     End If
  Dim rg As Range, cell As Range
  Set rg = Intersect(Target, Range("B4:B1048576")):  If rg Is Nothing Then Exit Sub
  For Each cell In rg:   cell.Offset(0, -1) = IIf(IsEmpty(cell), Empty, cell.Offset(-1, -1)):  Next
End Sub


В версии 2003 не работает, сохранил пример в новой.
Изменено: Наутилус - 05.11.2017 17:10:09 (не с того листа макросы были. исправил)
Формула вместо результата вычисления
 
да, спасибо большое!
Формула вместо результата вычисления
 
Похоже, но это для 1 ячейки. А у меня в каждой строке

уточнил пример. нужно чтобы в столбце D были формулы без кавычек, которые берутся из соседнего листа
Формула вместо результата вычисления
 
Дак нет, понятно что так можно.
Но Вась, петь и прочих много. Формул у них тоже. Формулы могут меняться. Поэтому хочу брать нужную формулу из отдельной таблицы
Формула вместо результата вычисления
 
Дело в том, что в зависимости от условия, формулы разные

Примерно так: если в ячейке E1 вася, то в D1 =A1*B1
а если в E1 петя, то D1=A1+B1

И есть таблица соответствия, где указаны формулы для васи и пети
Изменено: Наутилус - 04.11.2017 23:37:51
Автоматическое добавление даты для новой строки
 
как сделать чтобы если ячейка с датой заполнена, то процедура не выполнялась?

делаю так:
Код
  If IsEmpty(cell.Offset(0, -1)) Then
  For Each cell In rg:   cell.Offset(0, -1) = IIf(IsEmpty(cell), Empty, cell.Offset(-1, -1)):  Next
  End If

ошибка
Изменено: Наутилус - 04.11.2017 23:45:30
данные из неоткрытого файла
 
Цитата
Hugo написал: самая наипростейшая "функция"
При следующем пересчете данные будут получены из указанного файла?
данные из неоткрытого файла
 
Помогите, не могу найти. Автор форума где-то описывал функцию, позволяющую получать данные из другого файла, даже если он не открыт.

ткните в этот гайд пожалуйста
(фалы конечно эксельные)
Формула вместо результата вычисления
 
Как сделать, чтобы в ячейку попал не результат вычисления формулы, а сама формула и согласно этой формуле было вычислено значение ячейки
Суммесли для ОДНОГО из нескольких условий
 
Цитата
Bema написал:
Проверьте эту формулу:
=СУММ(СУММЕСЛИ(B1:B31;{"Вася":"Петя"};C1:C31))
Великолепно. Спасибо. Понимать бы еще, что все это значит...

В случае с СУММЕСЛИМН такой трюк пройдет? хочу допилить еще интервал по датам
Суммесли для ОДНОГО из нескольких условий
 
Цитата
Bema написал:
может Вы пример покажете?
Эм.. конечно. Просто он такой примитивный, думал необязательно
Суммесли для ОДНОГО из нескольких условий
 
Цитата
Catboyun написал:
=СУММЕСЛИ(B5:B99999;"Вася";C5:C99999)+СУММЕСЛИ(B5:B99999;"Петя";C5:C99999)
А если вась с петями много? Нет варианта через точку с заяптой? Диапазоны у них общие
Суммесли для ОДНОГО из нескольких условий
 
Цитата
Bema написал:
Заверните в СУММ и введите как формулу массива. ИЛИ тоже лишнее.
можно пример?
Суммесли для ОДНОГО из нескольких условий
 
=СУММЕСЛИ(B5:B99999;"Вася";C5:C99999)
работает верно

а вот
=СУММЕСЛИ(B5:B99999;ИЛИ("Петя";"Вася");C5:C99999)
дает всегда 0 и при пошаговом вычислении формулы
ИЛИ("Петя";"Вася") дает #знач!

Как исправить? Нужно суммировать ячейки у которых Вася или Петя
Совместное редактирование файла в Excel 2016
 
Неужели никто не пользуется?
Страницы: 1 2 След.
Наверх