簡體   English   中英

如何使用VBA在Excel中將后綴添加到特定數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM