Board logo

標題: 錄製VBA小毛病 [打印本頁]

作者: louiswei1986    時間: 2016-6-3 09:30     標題: 錄製VBA小毛病

各位大大,我錄製的巨集如下,大概功能就是K2+L2,K3+L3...最後再取代K欄,
我的VBA可能錄的比較醜,但是功能上大致是可以使用的。

最大的問題就是 Selection.AutoFill下拉函式的時候,
我沒辦法確定這個檔案有多少列,所以它會一直補0到9999列。
想請問這類型判別是否一定要使用迴圈才能解決?

感謝各位。

Sub 巨集2()
'
' 巨集2 巨集
'

'
    Range("P2").Select
    Selection.NumberFormatLocal = "G/通用格式"
    ActiveCell.FormulaR1C1 = "=RC[-5]+RC[-4]"
    Range("P2").Select
    Selection.AutoFill Destination:=Range("P2:P9999")
    Range("P2:P9999").Select
    Selection.Copy
    Range("K2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L:M,P:P").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Columns("A:A").ColumnWidth = 19.25
    Range("L:M,1:1048576").Select
    Range("O1").Activate
    Selection.Columns.AutoFit
    Selection.Rows.AutoFit
    With Selection.Font
        .Name = "微軟正黑體"
        .Name = "Century Gothic"
   
    End With

    Range("A2").Select
End Sub
作者: GBKEE    時間: 2016-6-4 07:25

本帖最後由 GBKEE 於 2016-6-5 07:16 編輯

回復 1# louiswei1986
我沒辦法確定這個檔案有多少列,所以它會一直補0到9999列
可以觀察工作表上的數據指定自動填滿儲存格位置
  1. Option Explicit
  2. Sub EX()
  3.     If Range("F1") > Range("P2").Row Then   '** Range("F1")的數值 > Range("P2").Row(列號)
  4.         Range("P2").AutoFill Range("P2:P" & Range("F1"))
  5.     End If
  6. End Sub
  7. '*****************
  8. Sub EX_1()
  9.     If Range("F1") > 0 Then  '** 儲存格進行自動填滿的列數
  10.          With Range("P2")
  11.             .AutoFill .Cells.Resize(Range("F1"))
  12.         End With
  13.     End If
  14. End Sub
複製代碼

作者: louiswei1986    時間: 2016-6-20 15:06

回復 2# GBKEE


    超級版主您好,小弟愚魯,
不知道F1是哪裡來的呢?
測試這兩個巨集都是根據F1的值來運算多少列,
我的需求是希望他能計算到以B欄為主,
如果B欄是空白就停止。

再懇請指點。
作者: GBKEE    時間: 2016-6-21 05:23

回復 3# louiswei1986
可以觀察工作表上的數據指定自動填滿儲存格位置

假設Range("F1") 如有公式=COUNTA(P2:P65536)

須依你工作表來判斷
  1.   With Range("P2")
  2.            .AutoFill .Cells.Resize( 要帶入的數值 )
  3.        End With
複製代碼

作者: louiswei1986    時間: 2016-6-24 09:11

回復 4# GBKEE


    好的,再嘗試看看,感謝。




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