返回列表 上一主題 發帖

錄製VBA小毛病

錄製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-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
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE


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

再懇請指點。
“Since I’m inarticulate, I express myself with images” – Helen Levitt

TOP

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

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

須依你工作表來判斷
  1.   With Range("P2")
  2.            .AutoFill .Cells.Resize( 要帶入的數值 )
  3.        End With
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# GBKEE


    好的,再嘗試看看,感謝。
“Since I’m inarticulate, I express myself with images” – Helen Levitt

TOP

        靜思自在 : 口說一句好話,如口出蓮花;口說一句壞話如口吐毒蛇。
返回列表 上一主題