excel中,当A1=一个代码时,B1、C1、D1、E1、F1就等于相应的值

excel中,当A1=一个代码时,B1、C1、D1、E1、F1就等于相应的值,如A1=101010时,B1=合同号,C1=货号,D1=品名;当A1=10101010时,B1=合同号,C1=货号,D1=品名,E1=盖子;当A1=10101011时,B1=合同号,C1=货号,D1=品名,E1=罐底;当A1=1010101110时,B1=合同号,C1=货号,D1=品名,E1=罐底;F1=制作;当A1=101010111010时,B1=合同号,C1=货号,D1=品名,E1=罐底;F1=制作;G1=制作的单价;

第1个回答  2009-02-10
在EXCEL的“工具-宏-Visual Basic 编辑器”中双击“ThisWorkBook”,粘贴下面的代码:

Sub change(ID)
Select Case ID
Case "101010"
With ActiveSheet
.Range("B1").Value = "合同号"
.Range("C1").Value = "货号"
.Range("D1").Value = "品名"
End With

Case "10101010"
With ActiveSheet
.Range("B1").Value = "合同号"
.Range("C1").Value = "货号"
.Range("D1").Value = "品名"
.Range("E1").Value = "盖子"
End With

Case "10101011"
With ActiveSheet
.Range("B1").Value = "合同号"
.Range("C1").Value = "货号"
.Range("D1").Value = "品名"
.Range("E1").Value = "罐底"
End With

Case "1010101110"
With ActiveSheet
.Range("B1").Value = "合同号"
.Range("C1").Value = "货号"
.Range("D1").Value = "品名"
.Range("E1").Value = "罐底"
.Range("F1").Value = "制作"
End With

Case "101010111010"
With ActiveSheet
.Range("B1").Value = "合同号"
.Range("C1").Value = "货号"
.Range("D1").Value = "品名"
.Range("E1").Value = "罐底"
.Range("F1").Value = "制作"
.Range("G1").Value = "制作的单价"
End With
Case Else
With ActiveSheet
.Range("B1").Value = ""
.Range("C1").Value = ""
.Range("D1").Value = ""
.Range("E1").Value = ""
.Range("F1").Value = ""
.Range("G1").Value = ""
End With
End Select

End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 1 Then
Call change(ActiveSheet.Range("A1"))
End If
End Sub

一大堆复制粘贴,真是怀疑是不是太烦了。
第2个回答  2020-01-03
你这个说不清楚,比如当a1=12mm时,b1到底显示什么,是0.19-0.25,还是0.19与0.25之间的任何数?
当a1的数字每增加2mm时,b1的数值变化有何规律?就像现在,当a1=18时,我们怎么知道b1该是多少?
第3个回答  2009-02-10
不要用代码的!
做个备份的!即 代码 合同号 货号 品名 盖子
然后用lookup自动引用!本回答被提问者采纳
第4个回答  2009-02-10
建议用access做
相似回答