Board logo

標題: [發問] 請問如何撰寫VBA,將空格填滿 (已解決) [打印本頁]

作者: sax868    時間: 2012-5-22 16:19     標題: 請問如何撰寫VBA,將空格填滿 (已解決)

本帖最後由 sax868 於 2012-5-23 16:01 編輯

[attach]11102[/attach]
  1. Sub Macro4()
  2. '
  3. ' Macro4 Macro
  4. '

  5. '
  6.     Range("C6,C11,C13,C15,C17,C19,C21,C23,C28,C31:C33,C6").Select
  7.     Selection.FormulaR1C1 = "=R[-1]C"
  8.     Range("E3:E6,E8:E11,E13,E15,E17,E19,E21,E23,E25:E28,E30:E34,E3").Select
  9.     Selection.FormulaR1C1 = "=R[-1]C"
  10.     Cells.Select
  11.     Selection.Copy
  12.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  13.         :=False, Transpose:=False
  14.     Rows("33:34").Select
  15.     Application.CutCopyMode = False
  16.     Selection.Delete Shift:=xlUp
  17.     Range("B32").Select
  18. End Sub
複製代碼
[attach]11101[/attach]

各位大大午安:
請問該如何撰寫VBA,將空格填滿? 以上是我錄的巨集煩請參考

我試著寫可是不靈光:
Sub FF()
Columns("C:C").Select
Rng.Replace "", "=R[-1]C"
End Sub

拜託高手大大們幫幫我...
謝謝!

弱女子留
作者: register313    時間: 2012-5-22 16:37

回復 1# sax868
  1. Sub zz()
  2. LR = [A2].End(xlDown).Row
  3. On Error Resume Next
  4. Set Rng = Union(Range("C2:C" & LR), Range("E2:E" & LR)).SpecialCells(xlCellTypeBlanks)
  5. For Each X In Rng
  6.   X.Replace "", X.Offset(-1, 0)
  7. Next
  8. End Sub
複製代碼

作者: GBKEE    時間: 2012-5-22 16:43

回復 1# sax868
  1. Sub Ex()
  2.     Dim xi As Integer
  3.     With Range("A:A").SpecialCells(xlCellTypeConstants)   'A欄的資料範圍
  4.      For xi = 2 To 4 Step 2
  5.         With .Offset(, xi)                                'C ,D 欄
  6.             .SpecialCells(xlCellTypeBlanks) = "=R[-1]C"   '空白的範圍 寫下公式
  7.             .Value = .Value                               '欄範圍中的公式換為的值
  8.         End With
  9.      Next
  10.     End With
  11. End Sub
複製代碼

作者: register313    時間: 2012-5-22 16:51

回復 3# GBKEE

僅用一次公式填滿整欄的空格
再用一次值填滿整欄的公式
作者: GBKEE    時間: 2012-5-22 16:57

本帖最後由 GBKEE 於 2012-5-22 17:02 編輯

回復 2# register313
為何會拐彎用Replace
X.Replace "", X.Offset(-1, 0) -> X.Value = X.Offset(-1, 0)
回復 4# register313
是將空白的Cell 填上公式 ,再取得公式的值.
作者: sax868    時間: 2012-5-22 17:01

回復 3# GBKEE

感謝register313大大及 GBKEE大大 鼎力相助,兩個方法都可行,很好用喔!

   
弱女子留

作者: register313    時間: 2012-5-22 17:03

回復 5# GBKEE

哎呀! 這就是VBA各種語法不精熟所造成的結果! (不過這次也太多此一舉了)
請GBKEE版主多指導!




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