miha_
Дата: Вторник, 30.07.2019, 23:36 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация:
1
±
Замечаний:
0% ±
Excel 2010
Добрый вечер, форумчане. Подскажите пожалуйста, в чём ошибка в коде, почему он не выполняет свои задачи?)) Что я сделал не так? Макрос, должен последовательно открывать все файлы с разрешением .csv в указанной папке, вносить изменения, сохранить файл и закрыть его.Так циклично пока все файлы в папке не будут обработаны. [vba]Код
Private Sub Open_Workbooks() Const iPath$ = "C:\Users\User\Desktop\09\месяца\Новая папка" iFileName$ = Dir(iPath$ & "*.csv") Do While iFileName$ <> "" Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, 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), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1), Array(34, 1)), TrailingMinusNumbers:=True Columns("A:A").Select Selection.Delete Shift:=xlToLeft Rows("1:23").Select Selection.Delete Shift:=xlUp Columns("B:R").Select Selection.Delete Shift:=xlToLeft Range("C1").Select Selection.AutoFill Destination:=Range("B1:C1"), Type:=xlFillDefault Range("B1:C1").Select Columns("C:K").Select Selection.Delete Shift:=xlToLeft iFileName$ = Dir Loop End Sub
[/vba] Спасибо.
Добрый вечер, форумчане. Подскажите пожалуйста, в чём ошибка в коде, почему он не выполняет свои задачи?)) Что я сделал не так? Макрос, должен последовательно открывать все файлы с разрешением .csv в указанной папке, вносить изменения, сохранить файл и закрыть его.Так циклично пока все файлы в папке не будут обработаны. [vba]Код
Private Sub Open_Workbooks() Const iPath$ = "C:\Users\User\Desktop\09\месяца\Новая папка" iFileName$ = Dir(iPath$ & "*.csv") Do While iFileName$ <> "" Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, 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), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1), Array(34, 1)), TrailingMinusNumbers:=True Columns("A:A").Select Selection.Delete Shift:=xlToLeft Rows("1:23").Select Selection.Delete Shift:=xlUp Columns("B:R").Select Selection.Delete Shift:=xlToLeft Range("C1").Select Selection.AutoFill Destination:=Range("B1:C1"), Type:=xlFillDefault Range("B1:C1").Select Columns("C:K").Select Selection.Delete Shift:=xlToLeft iFileName$ = Dir Loop End Sub
[/vba] Спасибо. miha_
Сообщение отредактировал miha_ - Вторник, 30.07.2019, 23:36
Ответить
Сообщение Добрый вечер, форумчане. Подскажите пожалуйста, в чём ошибка в коде, почему он не выполняет свои задачи?)) Что я сделал не так? Макрос, должен последовательно открывать все файлы с разрешением .csv в указанной папке, вносить изменения, сохранить файл и закрыть его.Так циклично пока все файлы в папке не будут обработаны. [vba]Код
Private Sub Open_Workbooks() Const iPath$ = "C:\Users\User\Desktop\09\месяца\Новая папка" iFileName$ = Dir(iPath$ & "*.csv") Do While iFileName$ <> "" Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, 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), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1), Array(34, 1)), TrailingMinusNumbers:=True Columns("A:A").Select Selection.Delete Shift:=xlToLeft Rows("1:23").Select Selection.Delete Shift:=xlUp Columns("B:R").Select Selection.Delete Shift:=xlToLeft Range("C1").Select Selection.AutoFill Destination:=Range("B1:C1"), Type:=xlFillDefault Range("B1:C1").Select Columns("C:K").Select Selection.Delete Shift:=xlToLeft iFileName$ = Dir Loop End Sub
[/vba] Спасибо. Автор - miha_ Дата добавления - 30.07.2019 в 23:36
miha_
Дата: Среда, 31.07.2019, 00:10 |
Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация:
1
±
Замечаний:
0% ±
Excel 2010
wild_pig, нужно преобразовать в таблицу и удалить ненужные строки. Вот код, который это всё делает. Работает отлично, с своей задачей справляется. Все файлы для преобразования имеют одинаковую структуру. Проблема, с моим кодом в том, что не открываются книги по указанному пути и не запускается код преобразования файла. [vba]Код
Sub преобразование() Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, 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), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1), Array(34, 1)), TrailingMinusNumbers:=True Rows("1:23").Select Selection.Delete Shift:=xlUp Columns("A:A").Select Selection.Delete Shift:=xlToLeft Columns("B:R").Select Selection.Delete Shift:=xlToLeft Range("C1").Select Selection.AutoFill Destination:=Range("B1:C1"), Type:=xlFillDefault Range("B1:C1").Select Columns("C:K").Select Selection.Delete Shift:=xlToLeft End Sub
[/vba]
wild_pig, нужно преобразовать в таблицу и удалить ненужные строки. Вот код, который это всё делает. Работает отлично, с своей задачей справляется. Все файлы для преобразования имеют одинаковую структуру. Проблема, с моим кодом в том, что не открываются книги по указанному пути и не запускается код преобразования файла. [vba]Код
Sub преобразование() Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, 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), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1), Array(34, 1)), TrailingMinusNumbers:=True Rows("1:23").Select Selection.Delete Shift:=xlUp Columns("A:A").Select Selection.Delete Shift:=xlToLeft Columns("B:R").Select Selection.Delete Shift:=xlToLeft Range("C1").Select Selection.AutoFill Destination:=Range("B1:C1"), Type:=xlFillDefault Range("B1:C1").Select Columns("C:K").Select Selection.Delete Shift:=xlToLeft End Sub
[/vba] miha_
Сообщение отредактировал miha_ - Среда, 31.07.2019, 00:10
Ответить
Сообщение wild_pig, нужно преобразовать в таблицу и удалить ненужные строки. Вот код, который это всё делает. Работает отлично, с своей задачей справляется. Все файлы для преобразования имеют одинаковую структуру. Проблема, с моим кодом в том, что не открываются книги по указанному пути и не запускается код преобразования файла. [vba]Код
Sub преобразование() Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, 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), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1), Array(34, 1)), TrailingMinusNumbers:=True Rows("1:23").Select Selection.Delete Shift:=xlUp Columns("A:A").Select Selection.Delete Shift:=xlToLeft Columns("B:R").Select Selection.Delete Shift:=xlToLeft Range("C1").Select Selection.AutoFill Destination:=Range("B1:C1"), Type:=xlFillDefault Range("B1:C1").Select Columns("C:K").Select Selection.Delete Shift:=xlToLeft End Sub
[/vba] Автор - miha_ Дата добавления - 31.07.2019 в 00:10