2016-04-14 16 views
0

我做的代碼,而是用一個小功能來襲,如何設置特定的工作表依賴於字符串...如何在Excel VBA中選擇與串片

例子:

如果字符串= 23

選擇(Sheet 2中)

如果字符串= 34

選擇(表Sheet 3)

if string = 67

select(sheet5)。

我從另一個工作簿中獲取輸入,並將其與另一個具有6個工作表的工作簿進行比較,每個工作表已連續區分2個整數。

實施例:
Workbook2

Sheet 1中 「A1:A100」 具有所有的 「23」
Sheet2的 「A1:A100」 具有所有的 「34」

我喜歡寫一個功能,

Function sheetname(strcmp_1 As String) 


If (strcmp_1 = "25") Then 

sheetname = marco_2 

End If 

End Function 
+0

你的問題有點不清楚: 給定一個字符串輸入,你想使用if語句爲它分配一個工作表嗎? 什麼意思,在第二個例子中, > sheet1「A1:A100」全部是「23」? – Charly

+0

我已經編碼,我可以搜索工作簿1中的字符串,例如有「23」。我想選擇活動工作表示例,在這種情況下,工作簿2中的「23」,工作表1 – user2965711

+0

,所以你只是想選擇一個函數中的數字依賴表?你確切的問題是什麼?工作表(sheetname).Activate? –

回答

0

好像你需要類似

Public Function SelectSheetByString(ByVal str As String, ByRef wb As Workbook) As Worksheet 

With wb 
    Select Case str 
     Case "12" 
      Set SelectSheetByString = .Sheets("Sheet1") 
     Case "34" 
      Set SelectSheetByString = .Sheets("Sheet2") 
     Case "56" 
      Set SelectSheetByString = .Sheets("Sheet3") 
    End Select 
End With 

End Function 

由於您提到「另一個工作簿」,我已經將工作簿添加爲參數。 如果您在一個工作簿內工作,請撥打電話wb:=ActiveWorkbook