2012-02-09 28 views
17

Tôi đã được cung cấp một cơ sở dữ liệu khá lớn được lưu trữ trong Microsoft Excel, mà tôi phải thử chuyển đổi thành một cái gì đó hữu ích.
Tuy nhiên, một trong những vấn đề mà tôi đang gặp phải là một số dữ liệu được hợp nhất với nhau (theo chiều ngang trong 2 giây).Hủy hợp nhất các hàng excel và dữ liệu trùng lặp

Ví dụ;

row 1: [ x ][ x ][ x ][ x ][ x ] 
row 2: [ x ][ x ][ o o ][ x ] 
row 3: [ o o ][ x ][ o o ] 

đâu x là các tế bào đơn lẻ và o của được sáp nhập lại với nhau

Những gì tôi muốn làm là unmerge tất cả các hàng (mà tôi có thể làm được khá dễ dàng với nút unmerge), nhưng đối với nơi các tế bào sáp nhập là, có dữ liệu được nhân đôi trên 2 ô.
Từ; [[ Some Data ]]
To; [ Some Data ][ Some Data ]

Cảm ơn! Bất kỳ trợ giúp được đánh giá cao.

Trả lời

27

Đây là giải pháp VBA. Macro này sẽ tìm kiếm mọi ô trong bảng đang hoạt động để xem chúng có được hợp nhất hay không. Nếu có, nó lưu trữ phạm vi của các ô đã phối trong một tạm thời. biến phạm vi, unmerges các ô, sau đó điền vào phạm vi với giá trị của ô đầu tiên trong phạm vi unmerged (giá trị là gì).

Sub UnMergeFill() 

Dim cell As Range, joinedCells As Range 

For Each cell In ThisWorkbook.ActiveSheet.UsedRange 
    If cell.MergeCells Then 
     Set joinedCells = cell.MergeArea 
     cell.MergeCells = False 
     joinedCells.Value = cell.Value 
    End If 
Next 

End Sub 
+0

Cảm ơn bạn, nó làm việc một cách hoàn hảo! Nhìn xung quanh để tìm ra cách VBA có thể được thực thi. – H3katonkheir

+0

Bạn được chào đón (và xin lỗi vì không thêm thông tin đó cho ya)! – aevanko

+0

Issun, tôi chỉ sử dụng một dòng trong VBA của riêng tôi, đó là "cell.MergeCells = False", đó là tất cả và thực hiện thủ thuật cho tôi vài lần trong một năm.Nó un-merg mỗi tế bào mà không kiểm tra mỗi tế bào đầu tiên. –

4

Bạn không cần VBA cho một cái gì đó như thế.

  1. Chọn phạm vi của các tế bào sáp nhập
  2. Hủy hợp nhất các tế bào
  3. Trang chủ -> Tìm và Chọn -> Go to đặc biệt ... -> Blanks -> ok
  4. Loại "=" di chuyển lên một ô và nhấn Ctrl + Enter

Nếu phong cách R1C1 được kích hoạt từ: file -> Options -> Formula -> R1C1 Reference style sau đó

  1. ...
  2. ...
  3. ...
  4. Loại "= R [-1] c" và nhấn tổ hợp phím Ctrl + Enter
7
  1. Chọn phạm vi đó đã sáp nhập dữ liệu
  2. Bấm vào Merge và Trung tâm hủy hợp nhất tế bào
  3. Chọn phạm vi dữ liệu một lần nữa
  4. Nhấn Ctrl + G> S pecial> Blanks
  5. Press = và lên phím mũi tên
  6. Nhấn Ctrl + Enter
Các vấn đề liên quan