Страницы: 1
RSS
открыть и обработать csv файл макросом.
 
Доброго времени суток!

Подскажите, как подправить код, который открывает файл, и разделяет его по строкам?

Код
Option Explicit
Private Sub Button1_Click()
With Application
.Calculation = xlManual
'.ScreenUpdating = False
End With
Dim a, B As Variant, Nom, Nom2 As String 'Описываем переменные
    Nom = ActiveWorkbook.Name 'Задаем имя активной книге
    ChDrive "C:"    'Выбор диска
    ChDir "C:\"    'Выбор каталога
        a = Application.GetOpenFilename("Тип файла (*.csv), *.csv", _
                                    , "Выберите отчет QUIZZ", , True) 'выбираем тип файлов excel
        Select Case TypeName(a)
        Case Is = "Boolean"
            Exit Sub
        Case Else
            For B = LBound(a) To UBound(a)
                Workbooks.Open a(B)
'                Workbooks.Open a(B), CorruptLoad:=xlExtractData 'проверка выбора excel
            Next
        End Select
    Nom2 = ActiveWorkbook.Name 'задаем имя 2-й книге
Columns("A:A").Select
            Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
                TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
                :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
                Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
                ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
                (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1)), TrailingMinusNumbers _
                :=True
End Sub
Все выполняется, до строчки
Код
 Columns("A:A").Select
На ней спотыкается и выдает ошибку "object doesn't support this property or method"
этот код прекрасно работал с XLSX файлами, а на csv спотыкается. понимаю что именно в этом и проблема, а как ее решить не знаю помогите, пожалуйста...
Изменено: Иван Смирнов - 31.07.2017 16:54:13

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Переместите код в стандартный модуль, а из листа просто вызывайте. Т.к. на листе обращение Columns идет к столбцу листа, в котором код, а не к столбцу активной книги. Следовательно и выделить ничего не получится, если актина другая книга, а не книга с кодом.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist, Спасибо!  

Бессмысленно осмысливать смысл неосмысленными мыслями.
Страницы: 1
Наверх