Есть ли способ получить файл .txt, который я создаю и пишу с этим кодом, чтобы он был назван в честь текста в верхней левой ячейке выделенной области? - PullRequest
0 голосов
/ 31 мая 2019

Я очень новичок в VBA и пытаюсь написать модуль, который создает и записывает файл .txt, содержащий информацию в активных ячейках, в рамках более крупного проекта по автоматизации отчетов.Модуль будет циклически проходить, активируя определенные ячейки до его завершения (но это будет частью другого модуля).Мне нужно, чтобы файл был назван в честь верхней левой ячейки в выбранном диапазоне, но я не могу понять, как его интегрировать.

Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j  As Integer
myFile = Application.DefaultFilePath & "\(Cells(B, 7).Value).txt"
Set rng = Selection

Open myFile For Output As #1
For i = 1 To rng.Rows.Count
    For j = 1 To rng.Columns.Count

cellValue = rng.Cells(i, j).Value

If j = rng.Columns.Count Then
Print #1, cellValue
Else
    Print #1, cellValue,
End If

    Next j
Next i
Close #1
End Sub

Я ожидал, что Application.DefaultFilePath & "\(Cells(i, j).Value).txt" назовет файл после первой ячейки, но вместо этогоназывает мой файл (ячейки (i, j). значение) .txt

1 Ответ

1 голос
/ 31 мая 2019

Все в кавычках будет трактоваться буквально, поэтому вам нужно убрать этот бит изнутри, а именно:

myFile = Application.DefaultFilePath & "\" & Cells(7,"B").Value & ".txt"

Основываясь на левом верхнем углу выделения

myFile = Application.DefaultFilePath & "\" & Selection(1).Value & ".txt"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...