Тема на Microsoft Excel - ХАРАКТЕРИСТИКА! Коментари

Целта на темата за Microsoft Excel е да търси и предоставя помощ при проблеми с Excel.
Моля, прочетете, преди да зададете въпрос, ако още не сте го направили.

excel

Публикувайте активни теми

Здравейте!
Отново бих помолил за вашата помощ във VBA.
Диапазонът съдържа обединени клетки с текстово и цифрово съдържание. Трябва да копирам това на друг работен лист, но без празните клетки.
Мисля, че трябва да обгърнем този диапазон в двумерен масив и след това да отпечатаме преоразмерения масив на другия работен лист без празните стойности.
Прилагам и снимка на моето възхищение.

Разбира се, това го прави малко по-сложно и повече съдържание, но само колоните се обединяват, редовете не. Така че трябва да напиша своите A1: F3 до A9: C11. Това би било част от автоматизирана задача, така че само vba може да влезе в игра.
Благодаря предварително!

Отговорете на съобщение p5quser # 45601

Знам (може да е погрешно), че съдържанието на обединените клетки винаги се отнася до горната лява клетка. Така че просто трябва да копирате колони "A", "C" и "E" в "A", "B", "C" (с изместване на няколко реда).

Отговорете на съобщението на Apollo17en # 45602

Знам и това, но диапазонът варира от няколко реда до няколкостотин реда и колоните също са разделени на 7 от 1 до 37, а не по равно. Така че при по-голям списък копирането вече би се забавило. Ето защо се замислих за блокиране. Четох, че би хвърлило много на скорост.

Отговорете на съобщение p5quser # 45603

Програмист: професионалист, обучен да пише и коригира дефектни програми. Имате повече смисъл от вас.

Отговорете на съобщение p5quser # 45603

Здравейте!
Получавате масива, като присвоите стойност.
Напр.
Затъмнен атом ()
atomb = Обхват ("A1: F3") Стойност
„След това преминавате през елементите на масива по ред или колона. (Първият индекс е редът, вторият е колоната.)
„Това, което има стойност, се записва в следващата клетка и празното остава само.
Dim i As Integer, j As Integer, k As Integer, m as integer
k = 10: m = 1 'Копирането започва от колона А на ред 10
За i = 1 до Ubound (атом, 1)
За j = 1 до Ubound (атом, 2)
Ако atom (i, j) <> " Тогава
Клетки (k, m). Стойност = атом (i, j)
k = k + 1
Край ако
Следващ j
k = k + 1: m = 1
След това i
Здравей.

отговор на съобщението # 45604 на Delila_1

Благодаря!
Проблемът му е, че новите стойности винаги трябва да започват от последния ред на листа work2 и ако замествам номера на последния ред, той записва всички стойности в един и същ ред на листа work2. Nomeg, разбира се, диапазонът за копиране също варира по дължина, въпреки че винаги започва от една и съща точка (A10).

Отговорете на съобщението на Fferi50 # 45605

И аз ти благодаря!
Това е моят проблем с него;

Мисля, че трябва да си играя с броя на колоните, но просто го гледам със стъклени очи.
(Може и аз да слюноотделям)

Отговорете на съобщение p5quser # 45606

Клетки (k, m). Стойност = атом (i, j)
m = m + 1
Просто трябваше да помисля малко, вместо да плача.
Благодаря ви много, че си свършихте работата.
Весели празници на вас!

Отговорете на съобщение p5quser # 45608

Здравейте!
Съжалявам, аз го написах. При мен беше m = m + 1. Но тук до Next j вече имахме k. Просто копирах останалото.
Весела Коледа и на теб!

Здравейте,
В таблицата с раздели на Office 360 ​​лентата за превъртане почти не се движи, докато се придвижвам надолу по масата, с превъртане на мишката или сметка. със стрелка.
В него има много слети клетки, но не мисля, че все още съм срещал този проблем.
Ако хвана количката (не знам как се нарича изведнъж сега), тя ще прескочи 1000 реда на дъската или повече, но по-скоро повече, защото не може да се използва толкова внимателно.
Бих искал да знам какво може да причини това?
Благодаря

Бих искал да помоля за помощ, за да видя дали можете да намерите по-просто и бързо решение на проблема по-долу.