2012-01-27 140 views
1

我有3000张发票的印刷品,其中有产品的详细信息和经销商的名称。 SAP的销售数据已经出口到excel进行分析。但不幸的是,在每张发票的导出数据中找不到经销商的名称。因此,我决定在每张发票上加入经销商的名称。 为此,我已将Combobox控件嵌入到包含销售数据的工作表中,我已将其加载到所有经销商的名称中。组合框控件的点击事件

单元格(1,1)中的组合控件的左侧,我输入发票号码并选择相应的经销商,如Combo控件的发票硬拷贝所述,以便通过点击名称经销商的姓名打印在下一栏的发票号码上。为此,我在Combobox1_ Click事件中写入了以下宏。

Sub Combobox1_Click() 
For i = 5 to 3000 
If cells(1,1).value = Cells(i,4).value then 
Cells(i,5).value = Combobox1.Text 
End if 
Next 

只要我为每个点击事件选择不同的经销商,这工作正常。但是,当我连续两次选择相同的经销商时,点击事件不会被触发,并且经销商的名称不会在第二个实例中打印。

为了清楚地说明发票1233的要点,我选择了经销商X并且姓名X根据发票1233打印。下一张发票1244也属于经销商X并且在单元(1,1)中输入1244后我选择相同的delaer X,该名称X多年平均值获得对印刷发票1244

请告诉我解决问题

+0

我不明白你的意思吗? – 2012-01-27 14:25:02

+0

对不起,我不知道这是因为我对于stackoverflow很新。 – 2012-01-27 15:06:30

+0

既然你已经删除了大写,我将删除我的评论(你也可以删除你的评论)。 – Tomalak 2012-01-27 17:47:44

回答

2

因为控制未检测到变化不被触发Click事件。

ComboBox1.Text = "Select Dealer" 

或更改,只有当您搬走从控制,通过增加此事件的组合框显示文本:您可以通过更改其显示值或者通过在点击事件的末尾添加该代码重置控制:

Private Sub ComboBox1_LostFocus() 
    ComboBox1.Text = "Select Dealer" 
End Sub 
+0

+1我刚刚建议完全一样的东西。 :) – Tomalak 2012-01-27 17:45:44

+0

非常感谢您的解决方案 – 2012-01-28 14:00:42