2015-04-22 24 views
0
Source Port # Source Port Description Source port Pwwn   Switch Port  Switch Port Description Flolgi port Flogi pwwn 
fc1/1 Test_port_description_1 21:00:00:00:12:34:56:78   fc1/1 Test_port_description_1  
fc1/2 Test_port_description_2 21:00:00:00:12:34:56:79   fc1/2 Test_port_description_2 fc1/0,abde 21:00:00:00:12:34:56:78 
fc1/3 Test_port_description_3 21:00:00:00:12:34:56:80   fc1/3 Test_port_description fc1/2,abde 21:00:00:00:12:34:56:79 
fc1/4 Test_port_description_4 21:00:00:00:12:34:56:81   fc1/4 Test_port_description_4 fc1/1,abde 21:00:00:00:12:34:56:80 
fc1/5 Test_port_description_5 21:00:00:00:12:34:56:82   fc1/5 Test_port_description_5 fc1/4,abde 21:00:00:00:12:34:56:81 
          fc1/5,abde 21:00:00:00:12:34:56:82 

下面是我的输入文件中的数据示例。我有一个带有命令按钮的Excel工作表,点击它将激活有我的输入的工作表2。在同一工作表中查找单元格值多次并找到值旁边的值

A列是我的来源。我想检查该列中的每个元素(A1,A2等),并检查它是否在工作表中找到。如果找到了,我需要检查选择下一个单元格值并将其与下一个找到的单元格值进行比较。如果它们都相同,则应将A2,B2值都复制到sheet3。
我必须在sheet2中再次搜索,看看它是否被找到,那么这次我需要检查当前元素右侧的2个单元格。将它们复制到sheet3。

例如。
A2 = fc1/1,B2 = Test_port_description_1,c2 = 21:00:00:00:12:34:56:7
首先,我想要选择A2值并尝试在表格中找到它。
当在f2 = fc1/1中发现A2 = fc1/1时,现在我需要检查是否 B2值等于G2值。如果它们都相同,则将A2和B2值同时复制到sheet3。

我再次想要继续搜索A2 = fc1/1 H5 = fc1/1,abde。现在我需要检查C2 = 21:00:00:00:12:34:56:78是否与H6 = 21:00:00:00:12:34:56:78相同,然后复制值C3下一列,其中值被发现,如果没有找到给定的颜色编码的细胞..像红色为第二列和黄在表3 3column ...

回答

0
Option Explicit 
Private Sub FindingPortPwwn_Click() 

Dim SourcePort As Range 
Dim firstaddress As String 
Dim i As Long, j As Long, N As Long 
Dim counter As Integer 
Dim WorkingSheet As Worksheet 

'Stopping Application Alerts 
Application.DisplayAlerts = False 

'OR You can mention the Sheet name 
On Error GoTo SheetNotFound: 
Sheets("Final Results Sheet").Delete 

'Creating a New Results Worksheet. 
ThisWorkbook.Worksheets.Add(After:=Worksheets("Input_Worksheet")).Name = "Final Results Sheet" 



'Enabling Application alerts once we are done with our task 
Application.DisplayAlerts = True 




Set WorkingSheet = ActiveWorkbook.Worksheets(2) 
WorkingSheet.Activate 
N = WorkingSheet.Cells(Rows.Count, "A").End(xlUp).Row 

'MsgBox (N) 
For i = 1 To N 
    'MsgBox (WorkingSheet.Cells(i, "A").Value) 
    'MsgBox (WorkingSheet.Cells(i, "A").Offset(0, 1).Value) 
    Set SourcePort = WorkingSheet.Cells.Find(WorkingSheet.Cells(i, "A").Value, WorkingSheet.Cells(i, "A"), LookIn:=xlValues) 
    'MsgBox (SourcePort.Address) 
    firstaddress = SourcePort.Address 
    Do 
    If (InStr(SourcePort.Value, ",")) Then 
     If WorkingSheet.Cells(i, "A").Offset(0, 2).Value = SourcePort.Offset(0, 1).Value Then 
      ThisWorkbook.Worksheets(3).Cells(i, "A").Value = WorkingSheet.Cells(i, "A").Value 
      ThisWorkbook.Worksheets(3).Cells(i, "A").Offset(0, 2) = WorkingSheet.Cells(i, "A").Offset(0, 2).Value 

     Else 
      ThisWorkbook.Worksheets(3).Cells(i, "A").Value = WorkingSheet.Cells(i, "A").Value 
      ThisWorkbook.Worksheets(3).Cells(i, "A").Offset(0, 2).Value = WorkingSheet.Cells(i, "A").Offset(0, 2).Value 
      ThisWorkbook.Worksheets(3).Cells(i, "A").Offset(0, 2).Interior.Color = RGB(255, 126, 135) 
     End If 


    Else 
     If WorkingSheet.Cells(i, "A").Offset(0, 1).Value = SourcePort.Offset(0, 1).Value Then 
     ThisWorkbook.Worksheets(3).Cells(i, "A").Value = WorkingSheet.Cells(i, "A").Value 
     ThisWorkbook.Worksheets(3).Cells(i, "A").Offset(0, 1) = WorkingSheet.Cells(i, "A").Offset(0, 1).Value 

     Else 
     ThisWorkbook.Worksheets(3).Cells(i, "A").Value = WorkingSheet.Cells(i, "A").Value 
     ThisWorkbook.Worksheets(3).Cells(i, "A").Offset(0, 1).Value = WorkingSheet.Cells(i, "A").Offset(0, 1).Value 
     ThisWorkbook.Worksheets(3).Cells(i, "A").Offset(0, 1).Interior.Color = RGB(255, 0, 0) 
     End If 
    End If 

    Set SourcePort = WorkingSheet.Cells.FindNext(SourcePort) 
    Loop While Not SourcePort Is Nothing And firstaddress <> SourcePort.Address 
    MsgBox (SourcePort.Value) 
Next i 
    Exit Sub 
    SheetNotFound: 
     MsgBox (" Final Results Worksheet not Found") 
    End Sub 
+0

我能发送正确的数据到Sheet,但是我无法为未找到的值设置颜色代码。我无法根据逻辑改变颜色。 – pradeep

相关问题