Прескочи на основното съдържание

Как да свържа стойностите на клетките, докато if намери празна клетка в колона?

Автор: Xiaoyang Последна промяна: 2020-07-31
doc свързване до празно 1

Например, имам списък със стойности, който включва някои празни клетки, и сега искам да свържа всеки набор от данни между празните клетки в клетка и да изброя комбинираните стойности в друга колона, както е показано на следната екранна снимка. Как мога да свържа клетки, докато намеря празна клетка в колона?

Свържете стойностите на клетките, докато if намери празна клетка в колона с VBA код

Свържете стойностите на клетките, докато ако намери празна клетка в колона с Kutools за Excel


стрелка син десен балон Свържете стойностите на клетките, докато if намери празна клетка в колона с VBA код

Няма директен начин да свържете набор от клетки между празни места, но можете да приложите следния VBA код, за да се справите с него. Моля, направете следното:

1. Задръжте натиснат ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.

2. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.

VBA код: свързва стойностите на клетките, докато ако намери празна клетка

Sub Concatenatecells()
'updateby Extendoffice
    Dim xRg As Range
    Dim xSaveToRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xTStr As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please selecte the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
        MsgBox "the selected range is more than one column", vbInformation, "Kutools for Ecel"
        Exit Sub
    End If
    Set xSaveToRg = Application.InputBox("Please selecte output cell:", "Kutools for Excel", , , , , , 8)
    If xSaveToRg Is Nothing Then Exit Sub
    Set xSaveToRg = xSaveToRg.Cells(1)
    Application.ScreenUpdating = False
    For Each xCell In xRg
        If xCell <> "" Then
            xTStr = xTStr & xCell & " "
        Else
            xSaveToRg.Value = xTStr
            Set xSaveToRg = xSaveToRg.Offset(1)
            xTStr = ""
        End If
    Next
    If xTStr <> "" Then xSaveToRg.Value = Left(xTStr, Len(xTStr) - 1)
    Application.ScreenUpdating = True
End Sub

3. След това натиснете F5 клавиш, за да изпълните този код, и се появява поле за подкана, за да ви напомни, че изберете диапазона от данни, който искате да свържете, вижте екранната снимка:

doc свързване до празно 10

4, След това кликнете OKи друго поле за подкана се появява, моля, изберете клетка, за да изведете свързания резултат, вижте екранната снимка:

doc свързване до празно 11

5. И после щракнете върху OK и данните от списъка с колони са свързани между празните места, вижте екранната снимка:

doc свързване до празно 1


стрелка син десен балон Свържете стойностите на клетките, докато ако намери празна клетка в колона с Kutools за Excel

Ако имате Kutools за Excel, съчетавайки своите Обхват на трансформация намлява Комбинирам функции, можете също да завършите тази работа възможно най-скоро. The Обхват на трансформация помощната програма може да ви помогне да конвертирате единичната колона в диапазон и Комбинирам може да ви помогне да свържете трансформирания диапазон в колона.

Kutools за Excel : с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. 

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете клетките, които искате да свържете, и щракнете Kutools > Обхват > Обхват на трансформация, вижте екранна снимка:

2. В Обхват на трансформация диалогов прозорец, проверете Единична колона към диапазон вариант по Тип трансформацияИ след това изберете Празна клетка разделя записите под Редове на запис, вижте екранна снимка:

doc свързване до празно 3

3. След това кликнете Okи ще се появи поле за подкана, за да ви напомни, че изберете клетка, за да изведете резултата, вижте екранната снимка:

doc свързване до празно 4

4. Щракнете OK, а данните от една колона са преобразувани в множество редове и колони от празната клетка, вижте екранната снимка:

doc свързване до празно 5

5. Преобразуваните данни са в множество колони, така че трябва да ги комбинирате в една колона, моля, изберете диапазона от данни и щракнете върху Kutools > Обединяване и разделяне > Комбинирайте редове, колони или клетки без загуба на данни, вижте екранна снимка:

6. В Комбинирайте колони или редове диалогов прозорец, направете следните опции:

(1.) Изберете Комбинирайте колони опция от За комбиниране на избрани клетки според следните опции;

(2.) След това посочете разделител, който искате да разделите конкатенираните стойности;

(3.) Изберете как искате да се справите с комбинираните клетки. Можете да запазите или изтриете оригиналните данни и можете също да обедините комбинираните клетки. Вижте екранна снимка:

doc свързване до празно 7

7. След като завършите настройките, щракнете Ok or Добавете Обява бутон, клетките са свързани в една колона със специфичен разделител, вижте екранната снимка:

doc свързване до празно 8

Изтеглете и изпробвайте безплатно Kutools за Excel сега!

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, I am using the VBA code, but instead of putting the data into separate rows, it is putting it all in a single cell. Does anyone have an idea why it is doing this?
This comment was minimized by the moderator on the site
Hi! After changing the values (ex, watermelon instead of apple) why is the formula not working?
This comment was minimized by the moderator on the site
Hello, Cristina

Our article provides VBA code, doesn't provide a formula. If you change the cell content, you must re-run the code again to get the correct result.
Thank you!
This comment was minimized by the moderator on the site
great job bro, Very useful
This comment was minimized by the moderator on the site
Hello,
You are welcome. Glad it helps. Any questions, please feel free to contact us. Have a great day.
Sincerely,
Mandy
This comment was minimized by the moderator on the site
It shows there's a syntax error on line 3 "Dim xRg As Range" when I'm trying to run this module based on method 1, what should I do about it?
This comment was minimized by the moderator on the site
Hello, JJ, The code works well in my worksheet, which Excel version do you use?Or you can insert a screesnhot of your problem here.
This comment was minimized by the moderator on the site
How would you do it if you want to base it off another column? I have similar data, but column B is a number then notes(like your fruit) in column I, I want to combine all notes in column I until there is another cell in Column B that has only number. Sometimes there are letter under B or the cells are blank which is why it needs to combine until a number. Then finally can it output back to where it started the combine? IE all notes for first number are in column j, but if the next number is 5 rows below that is fine, it just goes in column j but same row number as the number is found?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations