Board logo

標題: 如何把資料移到最左 [打印本頁]

作者: basarasy    時間: 2010-10-30 22:36     標題: 如何把資料移到最左

本帖最後由 basarasy 於 2010-10-31 00:00 編輯

[attach]3437[/attach]請問大大有什麼方法可以做到.
作者: oobird    時間: 2010-10-30 23:05

Cells.SpecialCells(4).Delete (1)
作者: oobird    時間: 2010-10-30 23:08

f5~特殊~空格~確定~右鍵選刪除~右側儲存格左移~確定。
作者: basarasy    時間: 2010-10-30 23:14

本帖最後由 basarasy 於 2010-10-31 00:01 編輯

回復 2# oobird
請問大大可以只定  D1:F5(左右2旁都布資料] 和不DEL連線嗎?
作者: Hsieh    時間: 2010-10-31 00:25

回復 4# basarasy
  1. Sub Ex()
  2. With ActiveSheet
  3. Dim Ay(5, 3)
  4. For i = 1 To 5
  5.    For j = 4 To 6
  6.      If .Cells(i, j) <> "" Then
  7.         Ay(i - 1, s) = .Cells(i, j).Value
  8.         s = s + 1
  9.      End If
  10.    Next
  11.    For x = s To 2
  12.      Ay(i - 1, x) = ""
  13.    Next
  14.     s = 0
  15. Next
  16. .[D1:F5].ClearContents
  17. .[D1:F5] = Application.Transpose(Application.Transpose(Ay))
  18. End With
  19. End Sub
複製代碼

作者: basarasy    時間: 2010-10-31 00:55

回復 5# Hsieh
謝謝Hsieh大大.
要改Array 大小只要改幾個數就好了.><
作者: GBKEE    時間: 2010-10-31 10:44

回復 4# basarasy
用範圍來整理
  1. Sub Ex()
  2.     Dim Rng(1 To 2) As Range
  3.     Set Rng(1) = ActiveSheet.Range("D1:G7")     '要整理的範圍
  4.     Set Rng(2) = ActiveSheet.Range("ID1:IG7")   '暫存範圍
  5.     Rng(1).Copy Rng(2)
  6.     Rng(2).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlShiftToLeft  '刪除空白
  7.     Rng(2).Copy Rng(1)
  8.     Rng(2).Clear
  9. End Sub
複製代碼

作者: basarasy    時間: 2010-10-31 20:25

回復 7# GBKEE
謝謝GBKEE大大.
請問大大可以解說這句嗎?
Rng(2).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlShiftToLeft
還有大大們的vba很強大,是如何學會的?
作者: GBKEE    時間: 2010-11-1 19:26

回復 8# basarasy
Rng(2).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlShiftToLeft   ->在Rng(2)中 刪除(Rng(2).(中的空白儲存格). (右徹儲存格左移)
你可詳看VBA 說明 SpecialCells ,Delete 的用法
作者: basarasy    時間: 2010-11-1 19:41

回復 9# GBKEE
謝謝大大的說明.




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