VBA: установить диапазоны в один столбец - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь сохранить карту каждого инструмента в виде отдельного текстового файла.

JPG: multiple ranges - Excel VBA

Here's my code. It prints, but everything I try saves 16 repeats of AU2, AU3, or both... per file.

Private Sub Cubase()
  
    Dim c As Range, r As Range, s As Range
    Dim LR As Long
    Dim output As String
    Dim map As String

    LR = Cells(Rows.Count, "B").End(xlUp).Row '(columns AQ & B are identical)
    Set r = Range("AU2:AU" & LR)

    For Each c In r
        If c.Offset(0, -2).Value = 1 Then
            output = c.Offset(0, -1).Value
            map = c.Offset(0, -3).Value
        
        Open output For Output As #1
            For Each c In r
                If map = c.Offset(0, -4).Value And c.Offset(0, -3).Text > 0 Then
                    Print #1, c.Value & Chr(10)
                End If
            Next
        End If
        Close
    Next c
End Sub

Как определить каждый инструмент или список как следующий диапазон для сохранения?

1 Ответ

0 голосов
/ 14 июля 2020

Я нашел свое решение! =)

Вместо того, чтобы устанавливать новый диапазон, я просто использовал IF для фильтрации существующего диапазона. Мой код показывает, что вчера вечером у меня была правильная мысль, просто плохо реализованная без сна. Мой новый код:

Private Sub Cubase()

Dim c As Range, r As Range, s As Range
Dim LR As Long
Dim output As String
Dim map As String

'Find last used row in Column B
LR = Cells(Rows.Count, "B").End(xlUp).Row
'Set XML cells to look through, down to last row
Set r = Range("AU2:AU" & LR)


'Go through each cell, store output filename if row is a new map (2 left = 1)
For Each c In r
    If c.Offset(0, -2).Value = 1 Then
        Close #1
        output = c.Offset(0, -1).Value
        Open output For Output As #1
    End If
    If c.Offset(0, -3).Text > 0 Then
        Print #1, c.Value & Chr(10)
    End If
Next c
Close #1
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...