Sub vText()
On Error GoTo ErrLabel
Dim Rg As Range, strFileName As String, Stroka As String
Dim i As Long, j As Long, maxColumn As Long, maxRow As Long
Set Rg = Application.InputBox(Prompt:= _
"Выделите регион для переноса в текстовый файл", _
Title:="vText", Type:=8)
With Rg
maxColumn = .Columns.Count
maxRow = .Rows.Count
strFileName = Application.GetSaveAsFilename(InitialFileName:="New", _
FileFilter:="Текстовый файл,*.txt", _
Title:="Сохранить регион как текстовый файл...")
If strFileName = "False" Then Exit Sub
If Dir(strFileName) <> vbNullString Then
If MsgBox("Файл с таким именем существует. Переписать его?", _
vbYesNo, "vText") = vbNo Then Exit Sub
End If
Open strFileName For Output As #1
For i = 1 To maxRow
Stroka = vbNullString
For j = 1 To maxColumn
Stroka = Stroka & .Cells(i, j).Value & ";"
Next
Print #1, Stroka
Next
Close #1
End With
Exit Sub
ErrLabel:
If Err.Number = 424 Then
MsgBox "Ошибка в выделении региона"
Else: MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description
End If
End Sub
Stroka = Stroka & .Cells(i, j).Value & ";" & vbTab
ReDim lMass(1 To maxColumn) As Long
For j = 1 To maxColumn
For i = 1 To maxRow
If lMass(j) < Len(.Cells(i, j).Value) Then lMass(j) = _
Len(.Cells(i, j).Value)
Next
Next
Stroka = Stroka & .Cells(i, j).Value & ";" & Space(lMass(j) - Len(.Cells(i, j).Value))
Сейчас этот форум просматривают: Yandex-бот и гости: 4