[英]How to add the suffix to the particular data in excel using VBA
我維護了一個工作表,其中包含特定產品的參數。
在這里,當我單擊“添加”按鈕時,“控制電源變壓器”的所有內容都應復制並粘貼到下面。
在這里,我成功復制了完整的產品詳細信息,並使用如下所述的vba代碼在下面粘貼:
Dim WbEPC As Workbook, _
WbCPT As Workbook, _
WsEPC As Worksheet, _
WsCPT As Worksheet, _
FirstAddress As String, _
WriteRow As Long, _
cF As Range, _
num As String
Set WbEPC = Workbooks("EPC 1.xlsm")
Set WbCPT = Workbooks("Control Power Transformers.xlsm")
Set WsEPC = WbEPC.Sheets("Sheet1")
Set WsCPT = WbCPT.Sheets("Sheet1")
Dim b As Object, RowNumber As Integer
Set b = ActiveSheet.Shapes("CommandButton21")
With b.TopLeftCell
RowNumber = .Row
End With
Rows(RowNumber + 1 & ":" & RowNumber + 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
With WsEPC
.Activate
With .Range("A1:A10000")
Set cF = .Find(what:="CTPT", _
lookat:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
num = cF.Address
WsEPC.Range(cF.Offset(-1, 0), cF.Offset(3, 3).End(xlDown)).Copy
WsEPC.Range("A" & RowNumber + 1).Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
End With
End With
MsgBox " Successfully added the product to EPC"
上面的代碼成功復制了下面的上述產品詳細信息,如下所示
這里“ CTPT1”是產品CONTROL POWER TRANSFORMERS的唯一產品ID,當我單擊ADD時,正在復制相同的ID,而不是復制CTPT1(如圖(A22)所示),我希望它自動使自己成為“ CTPT2”單擊“添加”按鈕時,同樣明智的做法是,如果再次單擊“添加”按鈕,則應變為“ CTPT3”,依此類推。
誰能告訴我如何使用excel VBA自動生成唯一ID。 任何幫助表示贊賞!
這應該可以解決問題:
Dim WbEPC As Workbook, _
WbCPT As Workbook, _
WsEPC As Worksheet, _
WsCPT As Worksheet, _
StringToSearch As String, _
ButtonRow As Long, _
WriteRow As Long, _
cF As Range
Set WbEPC = Workbooks("EPC 1.xlsm")
Set WbCPT = Workbooks("Control Power Transformers.xlsm")
Set WsEPC = WbEPC.Sheets("Sheet1")
Set WsCPT = WbCPT.Sheets("Sheet1")
StringToSearch = "CTPT"
With WsEPC
.Activate
ButtonRow = .Shapes("CommandButton21").TopLeftCell.Row
.Rows(ButtonRow + 1 & ":" & ButtonRow + 1).Insert Shift:=xlDown, _
CopyOrigin:=xlFormatFromLeftOrAbove
With .Columns(1)
Set cF = .Find(what:=StringToSearch, _
lookat:=xlPart, _
searchorder:=xlByRows, _
searchdirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
WsEPC.Range(cF.Offset(-1, 0), cF.Offset(3, 3).End(xlDown)).Copy
WriteRow = WsEPC.Range("B" & WsEPC.Rows.Count).End(xlUp).Row + 2
WsEPC.Range("A" & WriteRow).Insert Shift:=xlDown
Application.CutCopyMode = False
cF.Value = CStr(StringToSearch & CLng(Replace(cF.Value, StringToSearch, vbNullString)) + 1)
End With
End With
MsgBox " Successfully added the product to EPC"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.