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

Страницы: 1
Запрос значения от пользователя и заполнение строки на его основании
 
Здравствуйте большие специалисты )

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

При вводе в ячейку 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 (не с того листа макросы были. исправил)
данные из неоткрытого файла
 
Помогите, не могу найти. Автор форума где-то описывал функцию, позволяющую получать данные из другого файла, даже если он не открыт.

ткните в этот гайд пожалуйста
(фалы конечно эксельные)
Формула вместо результата вычисления
 
Как сделать, чтобы в ячейку попал не результат вычисления формулы, а сама формула и согласно этой формуле было вычислено значение ячейки
Суммесли для ОДНОГО из нескольких условий
 
=СУММЕСЛИ(B5:B99999;"Вася";C5:C99999)
работает верно

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

Как исправить? Нужно суммировать ячейки у которых Вася или Петя
Пользовательский формат вида ххх ххх ххх ххх хх
 
Не могу настроить пользовательский формат. Нужно чтобы если знаков в исходном числе 12, то делились через пробел на четыре разряда
Если знаков 14, то делиться должны на 4 разряда и две последние цифры через пробел

делаю 000 000 000 000 ##
получаю 40 840 912 345 678
хочу получить 408 409 123 456 78

пробовал решетками полностью - всегда две цифры вперед выскакивают, а не сзади остаются

помогите исправить
Сквозные строки (не шапка) ПОДВАЛ
 
Как сделать сквозные строки, только чтобы они печатались на каждой странице не сверху таблицы, а снизу (так называемый подвал)?
Колонтитулы не подходят - в строках вычисления
Страницы: 1
Наверх