Excel: як скасувати лише в поточному файлі?


97

Функція скасування / повторення Microsoft Excel поводиться на відміну від будь-якої іншої програми, яку я знаю. Схоже, стек скасування є глобальним для всіх відкритих файлів, тому скасування іноді переходить на інший файл і скасовує те, що ви не хотіли скасувати. І якщо зміна, яку ви хочете скасувати, була перед редакцією в іншому файлі, у вас немає іншого вибору, як скасувати інший файл.

Я не перший, хто скаржиться на це - дивіться "Скасувати безумство Excel" , приблизно на півдорозі.

Окрім "редагувати лише один файл за один раз", чи існує спосіб скасувати скасування Excel лише до поточного файлу?

Я використовую Excel 2003, якщо це має значення.


1
Будь ласка, дивіться мій коментар нижче. В основному MS не має вибору. MS робить це для Excel лише завдяки перехресним посиланням на робочу книгу. Єдиний спосіб, коли вони можуть підтримувати цілісність зв'язків формул у цьому контексті, - це підтримка єдиної історії скасування. Крім того, зробити його необов'язковим надзвичайно складно: як користувач обирає, чи мати одну історію чи кілька історій? Коли користувач обрав би це? Вони могли б зробити це автоматичним на основі залежностей від формули, але це може стати неможливим для логічного управління та ефективної роботи. Пам'ятайте, їм потрібно доставити товар, який ПРАЦЮЄ.
Містер ТА

1
Безумовно, це дуже дратівлива функція, але це не допомагає, що як тільки ви помилитесь, вона забуває, що ви намагалися скопіювати та вставити.
Адамантус

3
Факт, який все ще присутній, Excel 2016змушує мене хотіти померти.
GibralterTop

1
Я не можу сказати, скільки разів я завантажував файл, про який я забув, був відкритий, утримуючи ctrl-z і очікуючи, що він поверне мене до початкового стану поточного документа - лише для того, щоб я виявив, що я просто відклав години роботи над чимось, що було мінімізовано
billynoah

1
@ Mr.TA Незважаючи на те, що це може бути важко реалізувати, я все ж думаю, що варто було б докласти зусиль для Microsoft, щоб змінити поведінку Excel. Наївна реалізація: прапор у кожній робочій книжці, щоб відстежувати, чи містить у ній зовнішні посилання на інші робочі зошити. Прапори починають виходити false. Коли робиться посилання на іншу робочу книжку, прапор змінюється trueі залишається таким. Для робочих книжок, де є прапор false(тобто в більшості випадків), скасування операцій впливає лише на цю книжку. Для робочих книжок, де є прапор true, скасовується збереження поточної поведінки (крос-робоча книга).
benrwb

Відповіді:


34

Шлях "навколо" - це відкриття декількох копій Excel, по одній на робочому аркуші. Це справді дратує, але іншого шляху немає. У мене є спеціальні ярлики для моїх основних таблиць, щоб явно їх відкрити. Зробити це:

  1. Зробіть НОВИЙ ярлик - клацніть правою клавішею миші на робочому столі, Створити, Скорочене скорочення.
  2. Перейдіть до програми excel ("C: \ Program Files (x86) \ Microsoft Office \ Office12 \ EXCEL.EXE")
  3. Створіть ярлик і назвіть його
  4. Відредагуйте ярлик і введіть ім'я файлу в лапки після програми в ярлик. Таким чином, ви отримуєте "Ціль", наприклад:

"C: \ Program Files (x86) \ Microsoft Office \ Office12 \ EXCEL.EXE" "C: \ Noiselezz \ financial \ спільні фінансові \ Sales Sheet.xlsb"

На жаль, Microsoft справді мало поняття про те, як клієнти насправді використовують свої продукти. Божевілля Скасувати - це одна ознака цього - вони сліпо продовжують найсмішніший метод людського скасування, відомий людству. Він навіть не відповідає іншим продуктам Office.

Ще одне божевілля - це система DDE - найкращий спосіб уповільнити роботу комп'ютера - іноді це потрібно 12 секунд, перш ніж запуск навіть запуститься через DDE. Я продовжую виправляти параметри реєстру для видалення сміття DDE, але щоразу, коли MS оновлює Office, вони корисно «виправляють» їх.

Я працював у МС і бачив, як вони думають - не витрачайте час, очікуючи їх змін - це було 10 років тому, і вони такі ж і сьогодні.


3
Може бути корисним використовувати прапор "/ X", щоб змусити Excel запустити новий процес. stackoverflow.com/a/18291242/4689766 Ви можете зробити загальний ярлик і випустити на нього робочі таблиці, щоб відкрити їх таким чином, або ви навіть можете піти на те, щоб редагувати асоціації файлів, щоб додати це чи зробити його поведінкою за замовчуванням.
GuitarPicker

3
Зауважте, що це порушує копіювати / вставляти ...
Jens

6
@Jens: FUUUUUUUUUUUUuuuuuuuuuuuuuuuuuuuuuu
Адвокат диявола

27

Цю проблему обговорювали та відповідали на форумі Microsoft Office для розробників 14 квітня 2011 року.

Питання, розміщене Вершнером:

Я спочатку опублікував це на форумі для фахівців з інформаційних технологій, але вони сказали мені, щоб розмістити його тут, оскільки проблема була замислена.

Коли я натискаю скасувати на панелі інструментів швидкого доступу, він скасовує останню дію в Excel, а не останню дію на поточному робочому аркуші. Це не корисно, тому я додав скасування стрічки.

Стрічка повинна застосовуватися до поточного аркуша правильно? Ні. Це все ще скасовує останню дію на іншому аркуші. Це абсолютно нерозумно. Як зробити так, щоб це скасовувало дії на аркуші, який я переглядаю? Я використовую Excel 2010.

Прийнята відповідь, опублікована Біллом Манвіллом (Excel MVP):

Я зробив пропозицію колективу продуктів, щоб вони розглядали її для наступної версії.

Нижче я навожу корисні фрагменти з відповідної сторінки:

  • Скасування працює на рівні програми і скасовує зміни в зворотному порядку порядку.

  • Поведінка нинішніх версій Excel не зміниться, я впевнений. Але я підберу пропозицію з командою продуктів щодо майбутньої версії. Питання буде в тому, чи хтось покладається на поточну поведінку і чи вважає це корисним ...?


22
Розбитий дизайн? Це прикро. Я досі не бачу логіки M $. +1 для інформації.
Х'ю Аллен

6
Я був злий з цього приводу, перш ніж я дізнався, що це було задумом - але тепер ....
Саймон

5
MS робить це для Excel лише завдяки перехресним посиланням на робочу книгу. Єдиний спосіб, коли вони можуть підтримувати цілісність зв'язків формул у цьому контексті, - це підтримка єдиної історії скасування. Крім того, зробити його необов'язковим надзвичайно складно: як користувач обирає, чи мати одну історію чи кілька історій? Коли користувач обрав би це? Вони могли б зробити це автоматичним на основі залежностей від формули, але це може стати неможливим для логічного управління та ефективної роботи. Пам'ятайте, їм потрібно доставити товар, який ПРАЦЮЄ.
Містер ТА

4
@ Mr.TA: Офіс Libre / Apache має зв’язки між файлами / аркушами, і вони скасовуються на рівні файлу / аркуша ... просто кажу (що це можна, цілком можливо, якщо ви не лінивий жопа - що, мабуть, має місце у розробників MS).
Ерк

1
Я можу створювати перехресні посилання на документ у Word, а також скасовуючи в одному документі. Зрозуміло, що це можна зробити. Так, посилання може розірватися, але це моя вина. Я б дуже віддав перевагу такій поведінці над цим скаканням вікон.
JMD

7

До Excel 2016 та деяких пізніших версій:

Якщо ви наразі застрягли зі змішаною історією скасування, ви можете скасувати лише поточний файл, за умови, що ви готові втратити історію скасування інших відкритих файлів.

Просто закрийте інші файли, відкриті в Excel, зберігаючи їх у міру необхідності. Це очистить їх частини історії скасування, залишивши лише дії для поточного файлу в історії. Потім ви можете скасувати ці дії.

З цього приводу я б запропонував спробувати запустити Excel як окремі процеси, як описано в іншій відповіді / коментарі. Він не тільки піклується про дурну проблему змішаної історії скасування, але дає вам повністю окремі вікна Excel, по одному на кожен файл (на відміну від одного вікна Excel із усіма файлами, відкритими як під-вікна всередині нього).


3
Це неправильно. Принаймні в Excel 2016, закриття файлу повністю видаляє історію скасування.
Містер ТА

1
@ Mr.TA Я нічого не знаю про Excel 2016. Перевірена і працююча на 100% штрафу в Excel 2010, тому ваш кричущий "Це неправильно" був абсолютно не вимагається . Коли ви закриєте файл, з історії скасування видаляються лише дії певного файлу. Дії з інших файлів залишаються в історії.
ADTC

2
Закриття файлів, які не хочеться скасувати, працює і в 2013 році.
ScrappyDev

3
@ADTC: для мене це не вимагається. Я використовую 2016. І тепер я знайду свій спрей від астми ...
Ерк

2
На сьогодні (із усіма застосованими оновленнями) це працює для мене в Excel 2016. Можливо, вони це виправили?
ijprest

0

Якщо ви хочете відредагувати два існуючі файли XLSX з двома розділеними історіями, є обхід, який працює - ну, здебільшого ...

Перший XLSX-файл, який ви відкриєте зі свого місця розташування. Для другого файлу XLSX ви спочатку запускаєте Excel 2016 у меню "Пуск", а потім відкриєте другий файл XLSX через це друге вікно Excel.

Обов’язково переконайтеся в диспетчері завдань, чи є два окремі процеси Excel - як це можна побачити на скріншоті нижче. Якщо якимось чином два файли A і B об'єднані в один лише один процес "Microsoft Excel", тоді закрийте всі процеси Excel і повторіть спробу.

скріншот

Здається, Windows пишається своїм німецьким прізвищем: WinDOOF


1
Якщо ви знаєте метод, як дозволити Windows запускати один файл excel.exe у двох чи більше додаткових процесах, розкажіть, будь ласка, як це зробити!
gloschtla
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.