標題:
[發問]
如何在有資料的地方自動編號?
[打印本頁]
作者:
winston219
時間:
2010-12-3 23:11
標題:
如何在有資料的地方自動編號?
請問如何在有出現姓名的地方,自動向下編號? 且編號能置中對齊? (如下1、2、3的數字自動跑出來)
編號 姓名
1 林小明
2 張大同
3 李小璇
作者:
oobird
時間:
2010-12-3 23:37
本帖最後由 oobird 於 2010-12-3 23:39 編輯
Sub yy()
[a:a].HorizontalAlignment = xlCenter
Range("a2:a" & [b65536].End(3).Row) = "=row()-1"
[a:a] = [a:a].Value
End Sub
複製代碼
作者:
winston219
時間:
2010-12-4 00:33
謝謝oobird大大丫,您真是我的貴人咧~
作者:
GBKEE
時間:
2010-12-4 09:02
本帖最後由 Hsieh 於 2010-12-4 12:02 編輯
回復
1#
winston219
Sub Ex() '使用 DataSeries 方法
Range("A2") = 1
Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row).DataSeries
End Sub
複製代碼
另有基本功操作
如何在有資料的地方自動編號?
作者:
winston219
時間:
2010-12-5 18:24
謝謝GBKEE大大的細心說明!
作者:
winston219
時間:
2010-12-5 18:27
請問如何自動計算合計? (如下之70、60、55自動算出)
編號 姓名 金額1 金額2 合計
1 林小明 50 20 70
2 張大同 20 40 60
3 李小璇 30 25 55
作者:
GBKEE
時間:
2010-12-6 11:16
回復
6#
winston219
基本功 E2公式=C2+D2
滑鼠在E2右下處 成黑色十字形時 按左鍵二下 完成
作者:
winston219
時間:
2010-12-6 15:06
請問GBKEE大大,如何用VBA寫程式?
作者:
GBKEE
時間:
2010-12-6 15:52
本帖最後由 GBKEE 於 2010-12-6 15:58 編輯
回復
8#
winston219
Sub Ex() '編號 在B2
Dim R As Range
Set R = Range("B2").End(xlToRight)
Set R = Range(R, R.End(xlDown)).Offset(, 1)
R.Cells(1) = "合計"
R.Cells(2).FormulaR1C1 = "=RC[-1]+RC[-2]"
R.Cells(2).AutoFill Range(R.Cells(2), R.Cells(R.Rows.Count))
End Sub
''''''''''''''''''''''''''''''''''
Sub Ex() '編號 在B2
Dim R As Range
Set R = Range("B2").End(xlToRight)
Set R = Range(R, R.End(xlDown)).Offset(, 1)
R.Cells(1) = "合計"
With Range(R.Cells(2), R.Cells(R.Rows.Count))
.FormulaR1C1 = "=RC[-1]+RC[-2]"
.Cells = .Value '
End With
End Sub
複製代碼
作者:
winston219
時間:
2010-12-6 22:52
哈,感謝GBKEE大大的教導!
作者:
winston219
時間:
2010-12-6 23:46
請問大大,下列的程式碼之結果,若不想出現多餘的空白格子,即不想最後一筆資料跳到65536,我的資料約編號到500而已,請問該如何修改?
Sub yy()
[a:a].HorizontalAlignment = xlCenter
Range("a2:a" & [b65536].End(3).Row) = "=row()-1"
[a:a] = [a:a].Value
End Sub
作者:
GBKEE
時間:
2010-12-7 08:22
回復
11#
winston219
End 屬性 套用至範例特定傳回 Range 物件,該物件代表包含來源
範圍之區域結尾處的儲存格
。等於按 END+向上鍵、END+向下鍵、END+向左鍵或 END+向右鍵 可參閱
http://forum.twbts.com/thread-2055-1-1.html
4樓
Sub yy()
[a:a].HorizontalAlignment = xlCenter
Range("a2:a" & [b2].End(xlDown).Row) = "=row()-1"
'Range("a2:a" & [b2].End(4).Row) = "=row()-1"
[a:a] = [a:a].Value
End Sub
Sub EX()
With Range("B2", [b2].End(xlDown)).Offset(, -1)
' Range("B2", [b2].End(xlDown))-> 從B2往下到最後有資料的範圍,Offset(, -1)->向左位移一欄的範圍,
.HorizontalAlignment = xlCenter
.Cells = "=row()-1"
.Value = .Value
End With
End Sub
複製代碼
作者:
oobird
時間:
2010-12-7 11:06
最後一筆資料跳到65536
這應該是b欄的資料有問題, [b65536].End(3).Row應該是b欄最後有資料的列,若跑到65536表示有看不到的字符存在。
作者:
winston219
時間:
2010-12-8 17:56
我試了GBKEE與oobird兩位大大的方法後,仍然沒辦法解決這個問題。換了另一個工作表後,也同樣出現到65536的空格,請問可否到有資料的列數即可,不要出現那麼多往下的空格資料?
作者:
oobird
時間:
2010-12-8 20:12
已告訴你問題所在了,請自行檢查吧。
或者把檔案附上來了解!
作者:
winston219
時間:
2010-12-9 22:05
謝謝oobird大大,已發新問題,將檔案已附上去了!
作者:
FAlonso
時間:
2010-12-10 12:39
建議樓主用9樓第一個macro時
最初加上這一句
Range("E2:E" & Rows.Count).Clear
複製代碼
先清除E列資料,否則下次再用便會移位(變了F列),搞得車毁人亡
作者:
GBKEE
時間:
2010-12-10 12:54
回復
17#
FAlonso
很好的建議
,此程序是依照樓主的需求,所量身製作的故沒加上你建議的程式碼.
作者:
lionliu
時間:
2012-4-2 17:45
我和版大有一樣問題
借版大的順風車喔不知哪個方法好用試一下
作者:
lionliu
時間:
2012-4-3 11:58
我試出來一個方法結合各位大大的方法就可以了
運用excel --> 編輯--到 在選擇空格後
可將所有空格選取-->刪除-->整列上移
然後再執行2為大大的方法就可以了
方法有點笨但是可以做
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)