[英]how to make value dynamic while copying data from one workbook to another workbook
I have to copy the data of product category A01 to another workbook having a sheet named A01.我必须将产品类别 A01 的数据复制到另一个具有名为 A01 的工作表的工作簿。 but the product categories have A011,A012,A013 and so on data also.但产品类别也有A011、A012、A013等数据。 so, for that I want to make it dynamics.所以,为此我想让它动态化。
I tried:我试过了:
Sub left()
vcounter = Workbooks("macro tool.xlsm").Worksheets("sheet1").Cells(Rows.count, 1).End(xlUp).row
For k = 1 To 9
For j = 2 To vcounter
If Workbooks("macro tool.xlsm").Worksheets("sheet1").Cells(j, 3).Value = "A01" & k Then
Workbooks("macro tool.xlsm").Worksheets("sheet1").Rows(j).Copy
Workbooks("A.xlsx").Worksheets("A01").Activate
vcounter1 = Workbooks("A.xlsx").Worksheets("A01").Cells(Rows.count, 1).End(xlUp).row
Workbooks("A.xlsx").Worksheets("A01").Cells(vcounter1 + 1, 1).Select
ActiveSheet.PasteSpecial
End If
Next j
Next k
End Sub
the output of this program is:这个程序的 output 是:
A011
A011
A011
A011
A012
A012
A012
A012
A012
A012
A012
A012
A013
A013
A013
A013
A013
A013
A013
A013
A013
A014
A014
A014
A015
A015
A015
A015
A015
A015
A016
A016
A016
A016
A016
A016
A016
A016
A017
A017
A017
A017
A017
A017
A018
A018
A018
A018
A018
A018
A018
A019
A019
A019
A019
A019
and not giving the values for并且没有给出值
A01
I wrote the following code:我写了以下代码:
Sub left()
vcounter = Workbooks("macro tool.xlsm").Worksheets("sheet1").Cells(Rows.count, 1).End(xlUp).row
For j = 2 To vcounter
If Workbooks("macro tool.xlsm").Worksheets("sheet1").Cells(j, 3).Value = left(Range("C" & j), 3) = "A01" Then
Workbooks("macro tool.xlsm").Worksheets("sheet1").Rows(j).Copy
Workbooks("A.xlsx").Worksheets("A01").Activate
vcounter1 = Workbooks("A.xlsx").Worksheets("A01").Cells(Rows.count, 1).End(xlUp).row
Workbooks("A.xlsx").Worksheets("A01").Cells(vcounter1 + 1, 1).Select
ActiveSheet.PasteSpecial
End If
Next j
End Sub
but this is not working as I used the left function with value.但这不起作用,因为我使用了左边的 function 值。
I want both the values having product code A01 as well as other values, thats why I tried to use left function but the code isn't working.我想要具有产品代码 A01 的值以及其他值,这就是为什么我尝试使用 left function 但代码不起作用。 it is not giving any error but also not giving any output too.它没有给出任何错误,但也没有给出任何 output 。
Sub left() vcounter = Workbooks("macro tool.xlsm").Worksheets("sheet1").Cells(Rows.count, 1).End(xlUp).row For k = 1 To 9 Workbooks("macro tool.xlsm").Worksheets("sheet1").Rows(1).Copy Workbooks("A.xlsx").Worksheets("A0" & k).Rows(1) For j = 2 To vcounter If left(Workbooks("macro tool.xlsm").Worksheets("sheet1").Range("C" & j), 3) = "A0" & k Then Workbooks("macro tool.xlsm").Worksheets("sheet1").Rows(j).Copy Workbooks("A.xlsx").Worksheets("A0" & k).Activate vcounter1 = Workbooks("A.xlsx").Worksheets("A0" & k).Cells(Rows.count, 1).End(xlUp).row Workbooks("A.xlsx").Worksheets("A0" & k).Cells(vcounter1 + 1, 1).Select ActiveSheet.PasteSpecial End If Next j Next k End Sub Sub left() vcounter = Workbooks("macro tool.xlsm").Worksheets("sheet1").Cells(Rows.count, 1).End(xlUp).row For k = 1 To 9 Workbooks("macro tool. xlsm").Worksheets("sheet1").Rows(1).Copy Workbooks("A.xlsx").Worksheets("A0" & k).Rows(1) For j = 2 To vcounter If left(Workbooks( "macro tool.xlsm").Worksheets("sheet1").Range("C" & j), 3) = "A0" & k 然后 Workbooks("macro tool.xlsm").Worksheets("sheet1")。 Rows(j).Copy Workbooks("A.xlsx").Worksheets("A0" & k).Activate vcounter1 = Workbooks("A.xlsx").Worksheets("A0" & k).Cells(Rows.count , 1).End(xlUp).row Workbooks("A.xlsx").Worksheets("A0" & k).Cells(vcounter1 + 1, 1).Select ActiveSheet.PasteSpecial End If Next j Next k End Sub
Try尝试
If left(Workbooks("macro tool.xlsm").Worksheets("sheet1").Cells(j, 3).Value,3) = left(Range("C" & j), 3) = "A01" Then
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.