2013-02-04 83 views
1

我請求你的幫助,在下面的代碼中對我的問題進行一些修改。 我有插入行插入行的代碼,我也想添加序列號,就像1,1.1,1.2和1.3 ....添加序列號而不考慮行刪除或插入

下面的代碼已經在工具中提到添加序列號,可以有人告訴我如何代碼可以被調整,以達到1,1.1,1.2格式的序列號,如果行被刪除或插入它應該由0.1值基於以前的序列號

dim m as integer 
m = 0 
Application.WorksheetFunction.Max(.Columns(columnidCol)) 
.Cells(r, columnidCol).Value = m + 1 

添加序列號上面的代碼將給出的值爲1,當我插入行時,「columnidcol」派生自下面給出的公開聲明的常量

Public Const numberoneCol As Integer = 2 
Public Const columnidCol As Integer = numberoneCol 

請幫我修改上面的代碼。

+0

我會使用的公式爲,不VBA代碼。 「ROW」功能就是你需要的。 –

+0

@lifeinvba不知道你是否試圖在這裏進行版本控制..檢查了這一點http://stackoverflow.com/a/14350999/1389394爲什麼你不向我們展示整個funciton代碼。 – bonCodigo

回答

0

可以存儲序列號在ThisWorkbook.CustomDocumentProperties

ThisWorkbook.CustomDocumentProperties.Add Name:="SerialNumber", Type:=msoPropertyTypeString 
.... 
ThisWorkbook.CustomDocumentProperties("SerialNumber").Value = ThisWorkbook.CustomDocumentProperties("SerialNumber").Value + 1 
.... 
dim m as integer 
m = ThisWorkbook.CustomDocumentProperties("SerialNumber").Value 
.Cells(r, columnidCol).Value = m + 1 
+0

嗨安德烈感謝您的VBA代碼,因爲IAM新的VBA我想知道下面的代碼添加到模塊中的哪個地方是我們定義選項顯式的代碼的頂部? - ThisWorkbook.CustomDocumentProperties.Add Name:=「SerialNumber」,Type:= msoPropertyTypeString .... ThisWorkbook.CustomDocumentProperties(「SerialNumber」)。Value = ThisWorkbook.CustomDocumentProperties(「SerialNumber」)。Value + 1 .. .. – lifeinvba

+0

首先,你應該使用我的代碼的第一行添加自定義屬性。只需將它插入空子並運行。然後使用此屬性作爲序列號的存儲(每次插入/刪除行時更新它的值) –

+0

嗨Andrey,在sub下添加代碼後彈出錯誤是運行時錯誤450:錯誤的參數數量或無效的屬性分配 – lifeinvba

相關問題