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

Страницы: 1
Осторожно, WORD, Возможность экспорта вложений
 
Всем привет!
Понимаю, что форум, сайт, ветки и всё здесь про эксель. Но решил испытать удачу.

Подскажите, пожалуйста, есть ли удобный способ экспорта вложенных файлов в документ MS Word? Я пользовался только способом с переименованием файла в zip и далее извлечение из архива, но в этом случае название файла не сохраняется.
Найти ссылку вне диапазона, Найти ссылку указывающую на ячейку вне диапазона
 
Цитата
написал:
(MO 2019)
У меня 365, но сомневаюсь что проблема в этом.
В любом случае спасибо за вариант кода.
Найти ссылку вне диапазона, Найти ссылку указывающую на ячейку вне диапазона
 
Цитата
написал:
Небольшой оптимизончик добавил на свой взгляд
Если внутри диапазона (A:D) будут ссылки, действия и прочее (A1 = B1+C1)  с ячейками также внутри диапазона, то код их (A1) все равно, к сожалению, подсвечивает. А в теории должен подсвечивать только те, где упоминаются ссылка на ячейки вне выделенного диапазона.
Найти ссылку вне диапазона, Найти ссылку указывающую на ячейку вне диапазона
 
Этот способ быстрее в разы, но немного промахивается по результату. Некоторые ячейки с формулами, которые ссылаются внутри диапазона все равно выделяются, хотя не должны.
Код
On Error Resume Next

Set rng = Application.InputBox(prompt:="Введите диапазон", Type:=8)

'Фрагмент кода для инверсии выделения
If Not TypeName(Selection) = "Range" Then Exit Sub
    With Application: .ScreenUpdating = False: .DisplayAlerts = False: .EnableEvents = False: End With
    Dim selAddr As String: selAddr = Selection.Address
    With ActiveSheet
        With Workbooks.Add
            With ActiveSheet
            .Cells.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="0"
            .Range(selAddr).ClearFormats
            selAddr = .Cells.SpecialCells(xlCellTypeAllFormatConditions).Address
            End With
            .Close False
        End With
        .Range(selAddr).Select
    End With
    With Application: .EnableEvents = True: .DisplayAlerts = True: .ScreenUpdating = True: End With
'Инверсивное выделение помещаю в переменную
Set rngOut = Selection


Intersect(rngOut.DirectDependents, rng).Interior.Color = 255


End Sub
Найти ссылку вне диапазона, Найти ссылку указывающую на ячейку вне диапазона
 
Цитата
написал:
но вот как инверсировать Selection быстро и просто?
С инверсией выделенного неплохо справляется этот код

http://www.excelworld.ru/forum/3-36-1
Найти ссылку вне диапазона, Найти ссылку указывающую на ячейку вне диапазона
 
Цитата
написал:
Так как оба предложенных варианта основаны на одном и том же принципе, то можно сразу ответить- Для этого нужно парсить формулу. выискивая ссылки на ячейки отдельные и целые диапазоны. Но лучше использовать cell.Precedentsи обрабатывать его
Потестировал код более детально и столкнулся со сложностями.
Если внутри выделенного диапазона A:D будет 2 ячейки A1 и B1, внутри них А1 будет ссылаться на B1, а B1 куда угодно за пределы диапазона, то код выделит и A1 и B1. Хотя у А1  в Precedents только B1.

В тех случаях, когда в таблице 500 строк и 10 колонок со сложными связями, эксель умирает.  Есть ли возможность как-то ускорить и уйти от нюанса описанного выше?
Найти ссылку вне диапазона, Найти ссылку указывающую на ячейку вне диапазона
 
Все работает.

Спасибо!  
Найти ссылку вне диапазона, Найти ссылку указывающую на ячейку вне диапазона
 
Цитата
написал:
On Error Resume NextSet MyRange = Selection.SpecialCells(xlCellTypeFormulas)If Err = 0 ThenOn Error GoTo 0For Each cell In MyRange    If Intersect(Selection, Range(Replace(cell.Formula, "=", ""))) Is Nothing Then _        cell.Interior.Color = 255NextEnd If
Спасибо за вариант!
Подскажите, возможно ли модифицировать код так, чтобы он пропускал формулы с текстом вида ="какой-то текст", а также находил ячейки с частичным упоминанием ссылки вне диапазона вида =округлвверх(E4*Z4;2) - тут и Е4 и Z4 оба за пределами.
Найти ссылку вне диапазона, Найти ссылку указывающую на ячейку вне диапазона
 
Привет!

Во вложении таблица с делением на условной левую и правую стороны. Количество столбцов в левой и в правой может быть сколько угодно любым и определяется только пользователем в момент выделения диапазона.
Пытаюсь понять как с использованием VBA осуществить проверку.

Пользователь выделяет левый блок (допустим столбцы A-D) и ему подсвечиваются ячейки в которых есть ссылки на правый блок (все что выходит за выделенный диапазон)

Во вложенном файле цветом отмечены позиции удовлетворяющие условиям, в случае если пользователь выделил столбцы A-D.

Буду признателен за помощь.  
Страницы: 1
Наверх