【发布时间】:2013-02-18 06:01:02
【问题描述】:
我有一个名为mainData 的工作表,其中包含十种产品的所有数据。
当我在mainData 中输入新数据时,我想将新数据自动复制到另一个产品工作表的最后一行。当我在mainData中输入新数据时,如何识别新数据属于哪个产品的工作表,从而将新数据复制到产品工作表中?
我无法将其复制到另一个工作表,因为我需要根据产品类型将其复制到另外十个工作表。
这是我对mainData 所做的:
With Sheets("mainData")
LastRow = .Range("B" & .Rows.Count).End(xlUp).Row + 1
.Range("B" & LastRow) = ComboBox1.Text
.Range("C" & LastRow) = TextBox1.Text
.Range("D" & LastRow) = TextBox2.Text
.Range("E" & LastRow) = TextBox3.Text
.Range("F" & LastRow) = TextBox4.Text
.Range("G" & LastRow) = TextBox5.Text
.Range("H" & LastRow) = ComboBox2.Text
.Range("I" & LastRow) = TextBox6.Text
.Range("J" & LastRow) = TextBox7.Text
.Range("K" & LastRow) = TextBox8.Text
Range("B32:B320").Select
ActiveWorkbook.Worksheets("mainData").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("mainData").Sort.SortFields.Add Key:=Range("B32:B305") _
, SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"prod1, prod2, prod3, prod4, prod5, prod6, prod7, prod8, prod9, prod10" _
, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("mainData").Sort
.SetRange Range("B32:W305")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
这就是我的意思。当我在 mainData 工作表中输入新的 prod1 数据时,我想自动将其复制到产品 1 工作表的最后一行。我可能会在 mainData 中输入多种类型的产品,即 prod2、prod4,那么如何将这些数据复制到其特定的产品工作表中?
【问题讨论】:
-
how can I recognize the new data belongs to which product's worksheet,呃,你必须告诉我们(至少在逻辑上)如何区分。Product type是哪个字段,它与特定工作表有什么关系,即工作表名称是产品类型的指示符还是其他什么?或许你也可以举个例子? -
@SiddharthRout 是的,工作表名称是产品类型的指示符。如果产品类型是 prod2 意味着我需要将其复制到工作表产品 2。
-
那么 Col
B会有产品代码吗? -
是的。每个产品都有不同的产品代码。
-
还有两个问题。
1会不会只有 prod1-10?2需要添加到mainData还是直接添加到相关的sheet中?