註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 自動編號問題
返回列表
下一主題
上一主題
發帖
自動編號問題
hcy_tp
發短消息
加為好友
hcy_tp
當前離線
UID
2095
帖子
8
主題
3
精華
0
積分
16
金錢
16
點名
0
作業系統
xp
軟體版本
sp3
閱讀權限
10
性別
男
在線時間
8 小時
註冊時間
2010-10-26
最後登錄
2010-11-30
小學生
帖子
8
主題
3
精華
0
積分
16
點名
0
作業系統
xp
軟體版本
sp3
閱讀權限
10
性別
男
註冊時間
2010-10-26
最後登錄
2010-11-30
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2010-11-3 09:14
|
只看該作者
自動編號問題
Book1.rar
(8.51 KB)
下載次數: 8
2010-11-3 09:14
各位先進們好!
雖然可以使用
函數
完成B欄位的自動編碼,
但請先進們可否用VBA程式來執行。
案號 案次
RM960101 RM960101-1
RM960101 RM960101-2
RM960102 RM960102-1
RM960103 RM960103-1
RM960103 RM960103-2
RM960104 RM960104-1
RM960105 RM960105-1
RM960105 RM960105-2
樓主熱帖
程式詢問-人數統計
程式語法詢問
收藏
分享
oobird
發短消息
加為好友
oobird
當前離線
街友一族
UID
17
帖子
1572
主題
16
精華
2
積分
1521
金錢
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
在線時間
832 小時
註冊時間
2010-5-1
最後登錄
2016-1-13
頭銜:
街友一族
超級版主
帖子
1572
主題
16
精華
2
積分
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
註冊時間
2010-5-1
最後登錄
2016-1-13
2
#
發表於 2010-11-3 10:02
|
只看該作者
Sub yy()
Dim d As Object, rng, i%
Set d = CreateObject("Scripting.Dictionary")
rng = Range([a2], "b" & [a65536].End(3).Row)
For i = 1 To UBound(rng)
d(rng(i, 1)) = d(rng(i, 1)) + 1
rng(i, 2) = rng(i, 1) & "-" & d(rng(i, 1))
Next
[b2].Resize(i - 1, 1) = Application.Index(rng, , 2)
End Sub
複製代碼
TOP
hcy_tp
發短消息
加為好友
hcy_tp
當前離線
UID
2095
帖子
8
主題
3
精華
0
積分
16
金錢
16
點名
0
作業系統
xp
軟體版本
sp3
閱讀權限
10
性別
男
在線時間
8 小時
註冊時間
2010-10-26
最後登錄
2010-11-30
小學生
帖子
8
主題
3
精華
0
積分
16
點名
0
作業系統
xp
軟體版本
sp3
閱讀權限
10
性別
男
註冊時間
2010-10-26
最後登錄
2010-11-30
3
#
發表於 2010-11-3 13:47
|
只看該作者
感謝您的協助,
不過有幾個問題想詢問一下
1.可以只設定工作表Sheet1自己自動執行嗎?
2.有可能讓a欄位有變動時再調整嗎?例如a4有資料輸入b4才會執行,不用讓全部的欄位都重新跑過。
TOP
oobird
發短消息
加為好友
oobird
當前離線
街友一族
UID
17
帖子
1572
主題
16
精華
2
積分
1521
金錢
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
在線時間
832 小時
註冊時間
2010-5-1
最後登錄
2016-1-13
頭銜:
街友一族
超級版主
帖子
1572
主題
16
精華
2
積分
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
註冊時間
2010-5-1
最後登錄
2016-1-13
4
#
發表於 2010-11-3 22:44
|
只看該作者
做成Worksheet_Change事件即可。
TOP
hcy_tp
發短消息
加為好友
hcy_tp
當前離線
UID
2095
帖子
8
主題
3
精華
0
積分
16
金錢
16
點名
0
作業系統
xp
軟體版本
sp3
閱讀權限
10
性別
男
在線時間
8 小時
註冊時間
2010-10-26
最後登錄
2010-11-30
小學生
帖子
8
主題
3
精華
0
積分
16
點名
0
作業系統
xp
軟體版本
sp3
閱讀權限
10
性別
男
註冊時間
2010-10-26
最後登錄
2010-11-30
5
#
發表於 2010-11-4 07:21
|
只看該作者
謝謝您的建議
已經程式略調整成
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim d As Object, rng, i%
Set d = CreateObject("Scripting.Dictionary")
rng = Range([a2], "b" & [a65536].End(3).Row)
For i = 1 To UBound(rng)
d(rng(i, 1)) = d(rng(i, 1)) + 1
rng(i, 2) = rng(i, 1) & "-" & d(rng(i, 1))
Next
[b2].Resize(i - 1, 1) = Application.Index(rng, , 2)
End Sub
目前測試ok
謝謝您的幫忙
TOP
oobird
發短消息
加為好友
oobird
當前離線
街友一族
UID
17
帖子
1572
主題
16
精華
2
積分
1521
金錢
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
在線時間
832 小時
註冊時間
2010-5-1
最後登錄
2016-1-13
頭銜:
街友一族
超級版主
帖子
1572
主題
16
精華
2
積分
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
註冊時間
2010-5-1
最後登錄
2016-1-13
6
#
發表於 2010-11-4 08:41
|
只看該作者
目前測試ok?
這樣還不是全部欄位重跑一遍?
TOP
靜思自在 :
脾氣嘴巴不好,心地再好也不能算是好人。
返回列表
下一主題
上一主題
Excelㄧ般區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 ‧ 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲