2016-04-01 15 views
0

Ich habe eine Excel-Tabelle, die einige Größen halten. Und ich möchte diese Datei zur Laufzeit durchsuchen.VB.net Excel fusionierte Zellen Bereich

Excel sheet

Dieses Blatt enthält eine Spalte der Tabelle 1 definiert die Gruppe innerhalb der Suche erfolgen muss. Also suche ich in Spalte A, bis ich eine Zelle finde, die die von mir bevorzugte Gruppe enthält.

Diese Gruppe ist eine verbundene Zelle, die alle Zeilen enthält, die zu dieser Gruppe gehören.

Meine Frage: Wie kann ich den Bereich der Zeilen erhalten, die von der verbundenen Zelle verbraucht werden? Dieser Bereich wird benötigt, um alle verfügbaren Bewertungen für diese Gruppe aufzulisten.

+1

Sie taten das gleiche hier http://stackoverflow.com/questions/2951070/vba-excel-get-start-range-and-end-range-of-a-vertically-merged-cell für * * VBA ** ... wenn es helfen kann –

Antwort

0

Dank dem Kommentar von J. Chomel. Ich könnte diese Frage selbst beantworten. Diese Link zeigte mir alle Informationen, die ich brauchte.

Danke!

Public Sub GetRatings() 

    Dim oExcelLoc As String = "J:\EXCEL - Lijsten\NOZZLE SIZES.xlsx" 

    ' Excel load data 
    Dim oExcelApp As New Application 
    Dim oWorkBook As Workbook 
    Dim oWorkSheet As Worksheet 

    oWorkBook = oExcelApp.Workbooks.Open(oExcelLoc, False, True) 
    oWorkSheet = oWorkBook.Worksheets(1) 


    For oRow As Integer = 1 To 100 
     If oWorkSheet.Range("A" & oRow).Value = GroupString Then 

      Dim oRange As Range 
      oRange = oWorkSheet.Range("A" & oRow) 

      ' Check if merge cells 
      If oRange.MergeCells Then 

       Debug.Print("Group start row = " & oRow & " |Group end row = " & oRow + oRange.MergeArea.Rows.Count - 1) 

      Else 
       MsgBox("Error") 
      End If 
      Exit For 
     End If 
    Next 


    oWorkBook.Close() 

    'Release object references. 
    releaseObject(oWorkSheet) 
    releaseObject(oWorkBook) 
    releaseObject(oExcelApp) 

End Sub 

Private Sub releaseObject(ByVal obj As Object) 
    Try 
     System.Runtime.InteropServices.Marshal.ReleaseComObject(obj) 
     obj = Nothing 
    Catch ex As Exception 
     obj = Nothing 
    Finally 
     GC.Collect() 
    End Try 
End Sub 
Verwandte Themen