Vba 如果单元格包含,则向下复制整行

Vba 如果单元格包含,则向下复制整行,vba,excel,Vba,Excel,例如,如果单元格A中有“(4张纸)”,我将尝试自动插入行和复制。我不知道该怎么开始 如果aCell包含“(x张图纸)”,则在aCell下方插入x行。复制aCell。将变量粘贴到x行中。下一个 最终,我希望“(x张纸)”也被重命名。因此“(4页)”将变成4行,其中“(4页)”修改为“(第1页)”、“(第2页)”等 感谢您的帮助假设aCell位置在A1(单元格地址[1,1]),然后获取aCell值,从aCell值中提取数字,然后基于aCell值创建行数 Sub Main() Dim aCel

例如,如果单元格A中有“(4张纸)”,我将尝试自动插入行和复制。我不知道该怎么开始

如果aCell包含“(x张图纸)”,则在aCell下方插入x行。复制aCell。将变量粘贴到x行中。下一个

最终,我希望“(x张纸)”也被重命名。因此“(4页)”将变成4行,其中“(4页)”修改为“(第1页)”、“(第2页)”等


感谢您的帮助

假设aCell位置在A1(单元格地址[1,1]),然后获取aCell值,从aCell值中提取数字,然后基于aCell值创建行数

Sub Main()

   Dim aCell As String
   Dim ws As Worksheet
   Dim i As Long
   Dim noOfSheet As String

   Set ws = ThisWorkbook.Sheets("Sheet1")
   aCell = ws.Cells(1, 1).Value

   'Extract the no. of sheets from the cell
   For i = 1 To Len(aCell)
       If Mid(aCell, i, 1) >= "0" And Mid(aCell, i, 1) <= "9" Then
           noOfSheet = noOfSheet + Mid(aCell, i, 1)
       End If
   Next

   'Insert no. of row based on the no. of sheets
   If CInt(noOfSheet) > 0 Then
       For i = 1 To CInt(noOfSheet)
           ws.Cells(1, 1).Offset(1, 0).EntireRow.Insert
           ws.Cells(1, 1).Offset(1, 0).Value = "(SHEET " & CInt(noOfSheet) + 1 - i & ")"
       Next i
   End If

End Sub
Sub-Main()
像线一样变暗
将ws设置为工作表
我想我会坚持多久
细面条
设置ws=ThisWorkbook.Sheets(“Sheet1”)
aCell=ws.Cells(1,1).Value
'从单元格中提取张数
对于i=1到Len(aCell)

如果Mid(aCell,i,1)>=“0”和Mid(aCell,i,1)正常,则无论带#的行在何处,都会在“A1”下方添加“(表x)”。只有当单元格只有一个#时。我的行类似于“基础材料清单(4张)”。这是在正确的轨道上。非常感谢你让我开始。是的,没问题:)要获得单元格值的正确部分,你需要在查询中构建一些搜索逻辑。建议您遵循本文中的一些提示,以帮助您获得正确的图纸编号。