Board logo

標題: 請問如何把兩欄的資料合併? [打印本頁]

作者: CYC    時間: 2011-8-7 20:10     標題: 請問如何把兩欄的資料合併?

資料如下

   請問各位~~ 如何把c和d欄位資料合併,然後結果放在c欄位,D欄位的資料則把他刪除

   是用FOR 迴圈 當看到d欄位有值時,寫到c 然後再刪除d嘛? 請問有更好的方法嘛? 謝謝


    [attach]7310[/attach]  轉變為  [attach]7311[/attach]
作者: GBKEE    時間: 2011-8-8 14:30

回復 1# CYC
  1. Sub Ex()
  2.      With Range("D:D").SpecialCells(xlCellTypeConstants)
  3.         .Copy Range("C65536").End(xlUp).Offset(1)
  4.         .Value = ""
  5.     End With
  6. End Sub
複製代碼

作者: oobird    時間: 2011-8-8 18:03

[c:c].SpecialCells(4).Delete (1)
作者: CYC    時間: 2011-8-8 23:18

謝謝以上兩位~~感謝
作者: CYC    時間: 2011-8-9 09:02

回復 4# CYC


    請問如果是有兩欄交錯的情況呢?  謝謝

  如 :

           甲
                                       a
                                       b
           乙
                                       c
                                       d
           丙
作者: GBKEE    時間: 2011-8-10 15:37

回復 5# CYC
  1. Sub Ex()
  2.     Dim A
  3.     With Range("C:C").SpecialCells(xlCellTypeConstants)
  4.         A = Split(.Address, ",")
  5.         Range(A(0), A(UBound(A))).SpecialCells(xlCellTypeBlanks).Delete
  6.         With Range("D:D").SpecialCells(xlCellTypeConstants)
  7.             .Copy Range("C65536").End(xlUp).Offset(1)
  8.             .Value = ""
  9.         End With
  10.     End With
  11. End Sub
複製代碼

作者: hugh0620    時間: 2011-8-11 08:43

本帖最後由 hugh0620 於 2011-8-11 08:50 編輯

回復 5# CYC

序1~2 是先判斷FOR至少要跑幾圈
序3~8 執行假如C欄位沒有資料就帶出D欄位資料並刪除D欄位資料
  1. A = Range("C65536").End(xlUp).Row
  2. B = Range("D65536").End(xlUp).Row
  3. For I = 1 To Application.Max(A, B)
  4.     If Range("C" & I) = "" Then
  5.        Range("C" & I) = Range("D" & I)
  6.        Range("D" & I).Clear
  7.     End If
  8. Next
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)