Excel 2010 копіює кілька комірок на аркуші, пов'язані з VBA


1

У мене є трудова книжка з 5 однаковими аркушами, відфільтрованими в різні списки

Я пов’язав ці аркуші, щоб редагування на 1 аркуші оновило всі інші

Його пов'язано з наступним кодом

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error Resume Next
Sheets("NEXT SHEET NAME").Range(Target.Address) = Target
End Sub

NEXT SHEET NAME = назва наступного аркуша в робочій книжці, створюючи між ними цикл

Проблема в тому, що я можу скопіювати вставку однієї комірки, але якщо я спробую скопіювати декілька або натиснути та перетягнути, щоб вставити їх у декілька комірок, він нічого не робить. Він показує наведення курсора над пастою, але фактично вставляти, зберігаючи клітини порожніми.

У когось є якісь ідеї?


Прокоментуйте "Про помилку Поновіть далі" з апострофом і отримайте помилку, тоді ми побачимо далі.
duDE

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

Щойно знайшов цей коментар як частину опису деякого коду VBA "Якщо ви не знаєте, у будь-якому виділенні завжди може бути лише 1 активна комірка, і це завжди клітина, з якої ви починаєте свій вибір". Чи означає це, що код ефективно виконує зміни на 1 осередку, але тоді, коли його циклічно обертається, в основному видаляючи клітини порожніми, як частину циклу, з відповідних комірок на інших аркушах. Впевнений, що має бути спосіб подолати це
user681413

Відповіді:


0

Пропустіть "Значення", спробуйте:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'On Error Resume Next
  Sheets("NEXT SHEET NAME").Range(Target.Address).Value = Target.Value
End Sub

1
поганий тест, це також здається, що щойно знайшли рішення, змінивши таблиць ("НАЙКЛЮЧЕННЕ НАЗВАННЯ ЛИСТА"). Діапазон (Target.Address) = Ціль до таблиць ("NEXT NAME NAME"). Range (Target.Address) = Target ( 1,1)
user681413

1
Гаразд ваш метод працює чудово дякую за допомогу, проблема з моєю була в тому, що він копіював 1-ю клітинку лише так, що різні копії даних не працювали. Дякую ще раз
user681413
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.