Вместо использования обычной функции копирования и вставки, есть ли способ поиска данных во всем столбце (а не в отдельной ячейке) в одной электронной таблице и поместить их в другую, за исключением пустых ячеек, чтобы они были сжаты?
2 ответа
Это еще один способ без макросов или VBA:
- Выберите столбец
- Перейти на главную -> Найти и выбрать -> Перейти к спец.
- Выберите Константы и ОК
- Теперь выбираются только ячейки со значением.
- Копировать вставить. Это сделано !!!!
Этот небольшой макрос скопирует столбец 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
Макросы очень просты в установке и использовании:
- ALT-F11 открывает окно VBE
- ALT-I ALT-M открывает новый модуль
- вставьте материал и закройте окно VBE
Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx
Чтобы удалить макрос:
- откройте окно VBE, как указано выше
- очистить код
- закройте окно VBE
Чтобы использовать макрос из Excel:
- ALT-F8
- Выберите макрос
- Нажмите RUN
Чтобы узнать больше о макросах в целом, смотрите:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
а также
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Макросы должны быть включены, чтобы это работало!