Выберите определенные строки из Excel с помощью VBA

#excel #xml #vba

#excel #xml #vba

Вопрос:

У меня есть Excel, он содержит много табличных и графических данных, из которых я хочу выбрать только две строки и преобразовать их в XML-файл с помощью VBA. То, что я пробовал ранее, содержит выделение всех строк и столбцов, но я хочу выбрать строку от 2 до 3 и столбец от J до T. Что я пробовал до сих пор:

 Sub FindUsedRange()
    Dim LastRow As Long
    Dim FirstRow As Long
    Dim LastCol As Integer
    Dim FirstCol As Integer

    ' Find the FIRST real row
    FirstRow = ActiveSheet.Cells.Find(What:="*", _
      SearchDirection:=xlNext, _
      SearchOrder:=xlByRows).Row
      
    ' Find the FIRST real column
    FirstCol = ActiveSheet.Cells.Find(What:="*", _
      SearchDirection:=xlNext, _
      SearchOrder:=xlByColumns).Column
    
    ' Find the LAST real row
    LastRow = ActiveSheet.Cells.Find(What:="*", _
      SearchDirection:=xlPrevious, _
      SearchOrder:=xlByRows).Row

    ' Find the LAST real column
    LastCol = ActiveSheet.Cells.Find(What:="*", _
      SearchDirection:=xlPrevious, _
      SearchOrder:=xlByColumns).Column
        
'Select the ACTUAL Used Range as identified by the
'variables identified above
    'MsgBox (FirstRow amp; "," amp; LastRow amp; "," amp; FirstCol amp; "," amp; LastCol)
    Dim topCel As Range
    Dim bottomCel As Range
   
    Set topCel = Cells(FirstRow, FirstCol)
    Set bottomCel = Cells(LastRow, LastCol)
    
   ActiveSheet.Range(topCel, bottomCel).Select
End Sub
  

Но он возвращает все на активном листе. Я хочу выбрать из (от J2 до T3), то есть из столбца J и строки 2 в столбец T и строку 3. Это фиксированный формат, поэтому мы можем напрямую указать номер строки и столбца.Но я не знаю, как изменить эту функцию.

Комментарии:

1. Если вы знаете диапазон, просто используйте Dim rng as range: Set rng = Range("J2:T3")

Ответ №1:

 Dim cellvalue as range:Set cellvalue = Range("J2:T3")
  

У меня это сработало.