2016-04-01 11 views
0

У меня есть таблица Excel, которая имеет некоторые размеры. И я хотел бы искать этот файл во время выполнения.VB.net excel объединенных ячеек диапазон

Excel sheet

Этот лист содержит столбец таблицы 1 определяет должно произойти в пределах группы поиска. Поэтому я буду искать Столбец А до тех пор, пока не найду ячейку, содержащую группу, которую я предпочитаю.

Эта группа является объединенной ячейкой, которая содержит все строки, принадлежащие этой группе.

Мой вопрос: Как я могу получить диапазон строк, потребляемых объединенной ячейкой? Этот диапазон необходим для перечисления всех доступных оценок для этой группы.

+1

Они сделали то же самое здесь http://stackoverflow.com/questions/2951070/vba-excel-get-start-range-and-end-range-of-a-vertically-merged-cell для * * vba ** ... если это может помочь –

ответ

0

Благодаря комментарию Дж. Хомеля. Я мог бы ответить на этот вопрос сам. Этот Link показал мне всю необходимую информацию.

Спасибо!

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 
Смежные вопросы