1

Вместо использования обычной функции копирования и вставки, есть ли способ поиска данных во всем столбце (а не в отдельной ячейке) в одной электронной таблице и поместить их в другую, за исключением пустых ячеек, чтобы они были сжаты?

2 ответа2

1

Это еще один способ без макросов или VBA:

  1. Выберите столбец
  2. Перейти на главную -> Найти и выбрать -> Перейти к спец.
  3. Выберите Константы и ОК
  4. Теперь выбираются только ячейки со значением.
  5. Копировать вставить. Это сделано !!!!
0

Этот небольшой макрос скопирует столбец A из Sheet1 в столбец A Sheet2, пропуская пропуски. Настройте код для своих собственных столбцов и имен листов:

Sub CopyNoBanks()
    Dim sh1 As Worksheet, s2 As Worksheet, i As Long
    Dim j As Long, N As Long, r1 As Range

    Set sh1 = Sheets("Sheet1")
    Set sh2 = Sheets("Sheet2")
    N = sh1.Cells(Rows.Count, "A").End(xlUp).Row
    j = 1

    For i = 1 To N
        Set r1 = sh1.Cells(i, "A")
        If r1.Value <> "" Then
            r1.Copy sh2.Cells(j, "A")
            j = j + 1
        End If
    Next i
End Sub

Макросы очень просты в установке и использовании:

  1. ALT-F11 открывает окно VBE
  2. ALT-I ALT-M открывает новый модуль
  3. вставьте материал и закройте окно VBE

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить макрос:

  1. откройте окно VBE, как указано выше
  2. очистить код
  3. закройте окно VBE

Чтобы использовать макрос из Excel:

  1. ALT-F8
  2. Выберите макрос
  3. Нажмите RUN

Чтобы узнать больше о макросах в целом, смотрите:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

а также

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Макросы должны быть включены, чтобы это работало!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .