将以下逻辑翻译为vba

时间:2017-05-01 08:25:19

标签: excel excel-vba vba

我正在处理这样的excel文件:

column A      B             C                 D             E       ...  
      Brand ChassisCode   2010               2011          2012       
                        Start   End      Start  End     Start   End   
      BMW       NHR     700810 701000  7001001 7002000  7002001 7003000
      ...

在搜索“NHR7001200”=“参数”之类的内容时,如何将此逻辑转换为excel中有意义的vba或宏?

如果('参数'= ChassisCode + [找到表中的数字],[返回它落入的年份],“未找到”)。

Enter Chassis Code:______
Enter Series Number:______

所以,在搜索时,我可以放置像

这样的逻辑
  • 查找(B栏中的[chassiscode]
  • 然后使用< =>在表格中查找序列号{落在开始和结束系列之间}
  • 如果找到,请返回序列号所在的年份。
  • 转到下一个搜索 如果
  • 结束

我尝试使用excel的命令,例如VLookupMatchSumProductIf等,但我得不到我想要的答案可能的步骤来做到这一点。所以我最终使用excel中的find功能手动搜索表中包含超过一千个数据的chassiscode +系列号。

Private Sub CommandButton1_Click() 
  Dim chassisType As String, result As String 
  Dim series As Integer 
  chassisType = Range("D:D").Value 
  If chassisType = Range("D:D").Value Then 
    If series <= or >= Range("E:N") result = Range("E1:N1") 
End Sub

0 个答案:

没有答案