我有一本工作簿,在许多不同的列中都有许多订单号(超过20个)。每个列都有一个不同的标题(列名),可以在第一行中找到。
在另一张纸上,我将所有订单号编译到A列中。在BI列中,将填充每个订单号的列(标题)名称。
下面的代码将为我提供一个返回工作表名称的功能。在第14行中,我尝试将ws名称更改为header,但无法正常工作。
Option Explicit
Function FindMyOrderNumber(strOrder As String) As String
Dim ws As Worksheet
Dim rng As Range
Application.Volatile
For Each ws In Worksheets
If ws.CodeName <> "Sheet3" Then
Set rng = Nothing
On Error Resume Next
Set rng = ws.Cells.Find(What:=strOrder, LookAt:=xlWhole)
On Error GoTo 0
If Not rng Is Nothing Then
FindMyOrderNumber = ws.Name
Exit For
End If
End If
Next
Set rng = Nothing
Set ws = Nothing
End Function
FindMyOrderNumber = ws.Cells(1, rng.Column)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句