Board logo

標題: 巨集變數問題 [打印本頁]

作者: 藍天麗池    時間: 2018-4-23 19:35     標題: 巨集變數問題

本帖最後由 藍天麗池 於 2018-4-23 19:41 編輯

Sub 巨集2()

    ActiveCell.FormulaR1C1 = "=RC[-1]/2"
    Range("D6").Select
    Selection.AutoFill Destination:=Range("D6:D69478")
    Range("D6:D69478").Select
End Sub

前面的A,B,C攔都有資料

以上是我一個處理資料的巨集,想請教一下版上大大,程式碼裡面=Range("D6:D69478"),因為資料的多寡不一,如果我要把D69478改成變數而不是像現在的固定數要怎麼改??

我有想過先用COUNT函示先算出來C攔有多少數據,但是我不知道如何把函數加到裡面,我原先是把它改成=Range("D6:"D"&COUNT(C5:C90000)"),但好像不行,所以請教版上大大要如何更改
作者: iamaraymond    時間: 2018-4-23 23:19

回復 1# 藍天麗池

可以改用cells語法,會比較有彈性
另外,如果要取得最後一列可用cells(rows.count,4).end(xlup).row
作者: GBKEE    時間: 2018-4-24 07:19

回復 1# 藍天麗池
  1. Option Explicit
  2. Sub Ex()
  3.     'With 陳述式 : 一個物件或使用者自訂型態的名稱
  4.     With Range("D6")
  5.         .FormulaR1C1 = "=RC[-1]/2"
  6.         If .Cells.End(xlDown).Row = Cells(Rows.Count, .Column).End(xlUp).Row Then
  7.             '資料區的資料沒中斷有連續,可從上往下到資料區的最後一筆資料
  8.             ' .Cells.End(xlDown)  *** 有一點 .Cells 是 With物件的 Cells ***
  9.             .AutoFill Destination:=Range(.Cells, .Cells.End(xlDown))
  10.         Else
  11.              '資料區的資料有空白資料,必需由工作表底部由下往上到資料區的最後一筆資料
  12.              '** Cells(Rows.Count, .Column)  ** ->  Cells(工作表的列位總數, Range("D6")的欄位數)
  13.              '** Cells這裡沒一點 . 是工作表的 Cells 不是Range("D6")的 Cells**
  14.              '** 有一點  .Column 是Range("D6")的 欄位 **
  15.             .AutoFill Destination:=Range(.Cells, Cells(Rows.Count, .Column).End(xlUp))
  16.         End If
  17.     End With
  18. End Sub
複製代碼

作者: 准提部林    時間: 2018-4-24 14:11

Range("D6:D" & Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1 = "=RC[-1]/2"
作者: 藍天麗池    時間: 2018-4-24 20:06

回復 4# 准提部林
准大,感謝你,真犀利的解答
作者: 藍天麗池    時間: 2018-4-24 20:06

回復 3# GBKEE


    G大,感謝你,好久沒上來了,最近眼睛有比較好了嗎??
作者: GBKEE    時間: 2018-4-25 13:50

回復 6# 藍天麗池

謝謝你的關心,還好就螢幕不可盯 太久.
作者: 藍天麗池    時間: 2018-9-26 08:28

回復 7# GBKEE

G大,可以麻煩你有時間幫我看看好嗎?? 感謝
    http://forum.twbts.com/viewthrea ... mp;extra=#pid105281




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