Відкрив: Купер, 13.08.2002 17:07 | Повідомлень: 34435 | Дописувачі: 1814 рік
Форум xExcel має на меті створити основу для широкого кола користувачів Excel, щоб вони могли поділитися своїм досвідом та допомогти їм. Наступний підсумок призначений допомогти вам задати правильне питання.
Точно опишіть проблему. Складіть це так, щоб не тільки ви, а й експерт розуміли, на що ви хочете отримати відповідь.
Запишіть, з якою версією Excel ви працюєте. (Або якщо не чи не просто Excel, то що?)
Опишіть, як ви починали і де застрягли.
Це може дуже допомогти зрозуміти питання, якщо ви завантажите зображення, яке показує, що ви хочете, або ілюструє це.
Ще краще завантажити кудись зразок книги (наприклад, data.hu). Видаліть непублічні дані перед завантаженням.
Якщо характер завдання такий, доцільно подати стани "до" та "після". (Що ми повинні робити?)
Якщо вам потрібно виправити код VBA, скопіюйте відповідну частину. Ви можете прокоментувати короткий код, докладніше про це: http://pastebin.com/
Якщо щось не працює належним чином, введіть характеристики ненормальної поведінки, повідомлення про помилку та рядок програми, що спричинив помилку.
Дякую за приємне. Це те, що я думав.
Розмір комірки A1: = Ha (B1 = "; "; "WHOLE")
Припускаючи, що незалежно від того, які значення знаходяться в комірці B1, а текст у A1 не відповідає значенням у B1.
Привіт! Я хотів би отримати допомогу з простою функцією, але, на жаль, вони цього взагалі не знали. Це означало б лише те, що якщо комірку B1 заповнити, комірка A1 читатиме ЦЕПЛО. Звичайно, якщо клітинка B1 не заповнена, то певне 0 не повинно відображатися. Дякую.
У кінці формули напишіть клітинку AI2 замість AX2.
Це тому, що він копіює вміст комірки AX2 за замовчуванням.
Дякую. Але подія 1 була опущена, тобто за замовчуванням тривалість комірки AI2 повинна бути скопійована в комірку AW2. Інші працюють добре.
Я хочу запитати формулу функції.
AW2 Я хочу включити декілька збігів у клітинку.
1. Вміст комірки AW2 дорівнює вмісту комірки AI2.
2. Але якщо клітинка AX2 порожня, то комірка AW2 також порожня. (Отже, вміст комірки AI2 не включається.)
3. Але якщо комірка AC2 містить ТАК, а комірка AX2 порожня, введіть комірку AW2, яка НІ.
Заздалегідь дякую за допомогу.
Можливо, вам доведеться перереєструвати FM20.DLL.
Тут ви знайдете опис того, як хтось це зробив (минулого тижня).
Подивіться на це, якщо щось допоможе.
Обидві машини мають однаковий менеджер форм.
Я просто прочитав рішення, але воно теж не вийшло. На мою думку, поставте текстове поле у фокус перед тим, як вони ввійдуть. Перші два старти були хорошими, але тоді все пішло не так.
Також можуть бути проблеми з пам’яттю. Але я думаю, що dll менеджера форм може бути винуватцем 64-розрядної бібліотеки об'єктів Win10 MS Forms 2.0 (FM20.DLL).
Перевірте, чи однакові версії менеджера форм мають обидві машини.
MS замінила обробник форм десь у 2015 році, оскільки він з якоїсь причини не був сумісним з новішими версіями Excel. Зараз я не можу знайти офіційно випущену нитку відновлення, на жаль. Для цього пошуку: об’єкт від’єднаний від своїх клієнтів vba
потрапило досить багато хітів.
10-сторінкова форма користувача робить моє життя гірким:-)
При відкритті текстові поля сторінок повинні бути попередньо заповнені даними згідно з певними правилами.
Наразі я це вирішив, відкривши на вкладках макрос «Пуск» із прикладом «З», заповнивши його, а потім опублікувавши.
Закрито без відкриття при відкритті на деякий час, навіть не дозволяється налагодження.
Тоді я думав, що розібрав частини програми «З кількома сторінками» і поклав їх на аркуші одну за одною. Іншими словами, у «Пуску» я залишив лише одну сторінку для заповнення, інші активувались натисканням на сторінку. був би:-(
Але тут час від часу він просто вмирав знову. "Викликаний об'єкт був від'єднаний від своїх клієнтів" і дав це повідомлення про помилку. Зупинялося на різних лініях. На одному аркуші з дете, іншому на користувачеві, на третьому, якщо щось потрібно було прочитати з книги. Але є сторінка, список якої після фільтра заповнюється без помилок.
Рівень помилок не повністю узгоджується. Він поставляється з отвором, а не наступним. Крім того, я помітив, що якщо я повністю відкрию Excel і заходжу в інтерфейс VBA, двічі клацніть на форму користувача, а потім запустіть її, все в порядку. Я спробував завантажити та показати варіанти комбінування, обміну, але нічого. Я повністю видалив Перед закриттям, щоб закриття нічого не заважало або не змінювало на відкриття, але я нічого не можу знайти.
Як результат, можливо, що мій власний ноутбук (Win10, Office2019, 32-розрядна версія) працює без помилок, але вищевказана помилка (Win10, Office2016, 32-розрядна версія) видає вищевказану помилку. Між посиланнями VBA обидві машини перевіряються однаково. Я додав додаткові функції до попереднього "реєстру" і планував створити його 1 січня. Додаткові речі чудово працюють, це безглузде відкриття - лайно.
Хтось має ідею?
"Цікаво, що якщо я вказав формат" yyyy.mm.dd ", це не спрацювало".
Оскільки макрос використовує "міжнародний" (практично американський) формат, він не працює з крапками, дефісами тощо. заданий формат.
Це було зв’язувальне рішення знову, але я запишу це, якщо хтось зробить добре.
Отже, Microsoft DTPickers не був серед "Додаткових елементів керування", і файл mscomct2.ocx, що його містить, не вдалося встановити.
Тож я поклав одну з Textbox, Spinbutton та CommandButton (або 10 штук для цілої форми).
При запуску форми Tb = CDate (зараз)
Приватна підсистема SB_SpinUp ()
Tb.Text = Формат (CDate (Tb.Text) + CDate (Tb.SmallChange), "yyyy/mm/dd.")
Кінець Sub
Приватний підручник SB_SpinDown ()
Tb.Text = Формат (CDate (Tb.Text) - CDate (Tb.SmallChange), "рррр/мм/дд.")
Кінець Sub
На кнопці MA (якщо вам просто довелося повернутися назад) на рівні -> Tb = CDate (Зараз)
Цікаво було, що якщо я вказав формат "yyyy.mm.dd", це не спрацювало, але введіть пунктирний формат через скісні риски.
Оскільки вам зазвичай потрібно ходити лише кілька днів, ви не пропускаєте повного відображення календаря.
Я перевірив, кожен 32-розрядний.
Хм, це хороше питання. Дякую за напрямок, я подивлюсь на них.
кількість офісних біт (64/32)?
VBA DTPickers - проблема.
До цього часу машини були Office 2013, а потім 2016. Це були чудові форми попередніх років, серед яких були і DTPickers.
Пару тижнів тому один з моїх колег отримав нову машину, яка вже була в Office 2019, і вона не відображала і не видаляла DTPickers у попередніх формах, відкритих разом із нею, тому що якщо ви відкривали її в Office раніше, ці об'єкти більше не буде там.
Рівень машини в моєму будинку - 2019, він працює без цієї помилки.
Можливо, у вас є ідеї?
Так, це справді добре:-)
Спробуйте використати властивість Range.Text, яка повертає значення, знайдені в комірці, у видимому форматі:
Ми боремося з підсумком дат (пробілів). Конкретний місяць/особа - тоді сума протягом усього року. Я підсумував це з більш потужною функцією.
Зрозуміло, що якщо ви хочете підвести підсумки більше 24 годин, вам потрібно вибрати формат "[ ]: pp".
Це добре підсумовує ціни в камерах.
Мета полягає в тому, щоб текстове поле у відкритій формі приймало ці підсумовані числа, а потім відображало їх. Але - незважаючи на те, що формат ціни чітко відображається у зчитуваній комірці - вводьте лише значення понад 24 години.
Якщо я перейду на текстове поле1 = Формат (Аркуші (1) .range ("N14"), "[h]: mm"), то відобразиться: ": 12": -O
Як добре прочитати вміст комірки в текстовому полі?
Дякую, це також чудова ідея, ось як я це зроблю.
І я також вводжу Enter, щоб застрягти, щоб можна було вийняти наступну коробку.
Для цього я пропоную, щоб колір, встановлений у подіях MouseMove та Enter, був різним. Для MouseMove pl. блідо-червоний, сильно-червоний для Enter. Поки користувач косить лише за допомогою миші, він/вона передбачає максимум один клік, але якщо він клацне в елементі керування, подія ENTER вводиться. Ny, і тоді ви отримуєте колір фокусування в контролері.
Потім скидання кольору останнього прапорця у кадрі повинно бути введено в наступну подію керування ENTER у послідовності TAB.
Ця подія MouseMove є блискучою, вона працює.
Але група любить проводити з однієї частини клавіатури (з TAB), іншої частини за допомогою миші:-)
Тож було б чудово, якби ви обидва могли працювати.
Це чудово працює з окремо стоячим прапорцем, але якщо останній об’єкт знаходиться у кадрі І, якщо продовжити (тобто, коли ви не в фокусі), l) навіть не переходить у подію Exit, а отже зберігає набір кольорів від Ентерна.
Можливо, подія MouseMove може стати в нагоді, наприклад
Private Sub CheckBox1_MouseMove (кнопка ByVal як ціле, ByVal Shift як ціле, ByVal X як одинарне, ByVal Y як одинарне)
CheckBox1.BackColor = RGB (255, 0, 0)
Кінець Sub
Однак у цьому випадку скидання фону трохи громіздке, оскільки практично у кожній події керування MouseMove має бути розміщена підпрограма, яка є контрольним фоном для всіх елементів керування.
Private Sub CheckBox1_MouseMove (кнопка ByVal як ціле, ByVal Shift як ціле, ByVal X як одинарне, ByVal Y як одинарне)
Базова лінія
CheckBox1.BackColor = RGB (255, 0, 0)
Кінець Sub
Приватна допоміжна програма за замовчуванням
'весь ctrl.BackColor = -2147483633
Подія ENTER означає, що даний елемент управління отримав фікус.
Приватний підпункт CheckBox1_Enter ()
CheckBox1.BackColor = RGB (255, 0, 0)
Кінець Sub
EXIT означає втрату фокусу, тому ви можете скинути підсвічування.