从单元格中的值中选择工作表

时间:2015-03-16 14:35:35

标签: excel vba excel-vba

是否可以根据单元格中的值选择工作表。例如

  Col_1      Col_2      Col_3

  gor         100        jan
  mack        60         jan
  john        40         mar---->this data
  ..... So on

这里正在检查50小时以下的人,如果他们有50个小时,那么我必须去那张表并标记他们代表他们。 这里约翰有50个小时以下,然后我必须从3月份的col_3获取工作表名称。我必须转到那个mar表并标记它们。我的问题是。是否可以根据单元格中的值选择或获取工作表名称。

3 个答案:

答案 0 :(得分:1)

如果您的单元格值是日期字符串,则可以使用Format将其置于所需的字符串格式中。例如,如果您的单元格包含" 3/15/15",则可以将其转换为工作表名称" Mar-15"使用以下代码:

Dim dateVal As String
' assume this is your active sheet
Worksheets(1).Activate

' for simplicity, just set a date
Cells(1, 1).Value = "3/15/15"

' read the date from the cell and format to get month name
dateVal = Format(Cells(1, 1).Value, "mmm-YY")
MsgBox ("Month from Date: " & dateVal)

输出显示:

enter image description here

请注意,您可能需要调整日期格式,因为我使用美国英语格式,但概念是将单元格中的值包含在您想要的内容中。< / p>

答案 1 :(得分:0)

关于这一行 ws =工作表(工作表(“报告”)。范围(“H”和&lt; intRow1).Value)。激活 -

如果要从特定工作表中选择或激活任何值,则必须激活这些工作表,否则会出错。

答案 2 :(得分:0)

尝试使用以下代码。它仅针对activecell编写,但可以扩展到单元格范围。

Dim sname As String

If ActiveCell.Value < 50 Then
    sname = ActiveCell.Offset(0, 1).Value & "-" & "15"
    Sheets(sname).Select

End If