#excel #vba
#excel #vba
Вопрос:
На самом деле я преобразовал pdf в Excel. После преобразования следующая строка преобразуется в следующую строку. Я хочу объединить содержимое при следующем условии.
Если в строке 1 и строке 2 есть текст, поместите содержимое строки 2 в строку 1 (в дополнение к существующему) и очистите содержимое строки 2. Если строка 2 пуста, она должна сохранить содержимое строки 1 и перейти к следующей строке.
Я попробовал два макроса. Но они не дают желаемого результата
Sub cc()
Dim X As Integer
For X = 1 To 500
'If Sheet2.Cells(X 1, 1) isNotBlank Then
If Not IsEmpty(Sheet2.Cells(X 1, 1).Value) And Not IsEmpty(Sheet2.Cells(X, 1).Value) Then
Sheet2.Cells(X 1, 1).ClearContents
End If
Next
End Sub
Sub ccc()
Dim X As Integer
For X = 1 To 500
'If Sheet2.Cells(X 1, 1) isNotBlank Then
If Not IsEmpty(Sheet2.Cells(X 1, 1).Value) And Not IsEmpty(Sheet2.Cells(X, 1).Value) Then
If Not IsEmpty(Sheet2.Cells(X, 1).Value) Then
Sheet2.Cells(X, 1).Value = Sheet2.Cells(X, 1)
Sheet2.Cells(X 1, 1).ClearContents
End If
Next
End Sub
Комментарии:
1. Вместо
IsEmpty
я бы использовалSheet2.Cells(X 1, 1).Value <> vbNullString
или, может быть, дажеTrim(Sheet2.Cells(X 1, 1).Value) <> vbNullString
2. Просто заметил, что вы не объединяете значения ячеек. Вы что-то упускаете
Sheet2.Cells(X, 1).Value = Sheet2.Cells(X, 1).Value amp; vbCrLf amp; Sheet2.Cells(X 1, 1).Value
. ЗаменитеvbCrLf
на что-то другое, если вам не нужна новая строка.