Trả về danh sách chuyển của tất cả các chuỗi trong một hàng trong Excel


0

Trong trang tính Excel (cho Mac 2011) của tôi, phạm vi B2: 2 chứa hầu hết các ô trống, nhưng một số ô chứa chuỗi. Tôi muốn in các chuỗi này thành một danh sách chuyển đổi bắt đầu từ A12. Danh sách này nên loại trừ tất cả các ô trống và sẽ in (trong các ô liên tiếp) tất cả các chuỗi trong B2: 2.

Cho đến nay, tôi đã thử {=INDEX($B$2:$E$2, 0, SMALL(IF(NOT(ISEMPTY($B$2:$E$2)), COLUMN($B$2:$E$2)), ROW(1:1)} như các trang web khác nhau và câu trả lời Stack Exchange đã đề xuất, và {=INDEX($B$2:$E$2, 0, SMALL(IF($B$2:$E$2<>"", COLUMN($B$2:$E$2)), ROW(1:1). Tuy nhiên, các công thức này chỉ đơn giản chuyển đổi toàn bộ phạm vi bắt đầu tại A12 khi B2 được điền. Khi B2 không được điền, không có giá trị xuất hiện.

Tôi nên tiến hành như thế nào?

Câu trả lời:


0
Sub FillRange()
Dim rng As Range, cell As Range
Dim counter As Long: counter = 0
Set rng = Range("B2:E2")

For Each cell In rng
    If Not IsEmpty(cell) Then
       Range("A12").Offset(counter, 0) = cell
       counter = counter + 1
    End If
Next cell
End Sub

Bạn có thể giải quyết vấn đề của mình một cách dễ dàng bằng cách sử dụng macro.


Chào mừng bạn đến với Siêu người dùng! Bạn có thể vui lòng chỉnh sửa câu trả lời của bạn để đưa ra lời giải thích tại sao mã này trả lời câu hỏi?
DavidPostill
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.