|
|
|
Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
привет всем! скажу сразу VBA знаю 2-3 дня (сам не программер, а маркетолог). задача: в филиалах посчитать кол-во обращений клиентов. вроде с подсчетом справился, выходные файлы есть (*.xls). проблема: начинаю собирать файлы в кучу, но что-то не так. вроде в цикл входит, файлы берет правильно, коды расшивает, а вот с переносом данных и закрытием файла траблы. Private Sub CommandButton1_Click() Dim data As String, kodname As String, filname As String, FullFileName As String, FileName As String, ShortFileName As String, data_o As String Dim p As Integer, FileCount As Integer Dim arrFiles As Variant, strFilter As String Dim strTitle As String, strMsg As String, i As Long Dim wb As Workbook ' условие для выбора файла и создание массива файлов data_o = Workbooks("Свод").Worksheets("Свод").Range("G4").Value FullFileName = "C:\Отчет\Филиал.xls" ShortFileName = "Филиал.xls" strFilter = "Файлы отчетов (*.007),*.007" strTitle = "Выберите файл для обработки" arrFiles = Application.GetOpenFilename(strFilter, 2, strTitle, , True) On Error GoTo ExitSub For i = 1 To UBound(arrFiles) Set wb = Workbooks.Open(arrFiles(i)) ' выбираем из массива по одному файлу и разбираем на коды FileName = arrFiles(i) wb.Close Set wb = Nothing kodname = Mid(FileName, 11, 2) filname = Mid(FileName, 14, 4) data = Mid(FileName, 19, 10) ' проверка отчета по дате ' If data_o = data Then ' и слив данных в общий файл по филиалу Workbooks.Open (FullFileName) ' находим пустую строку в файле Обращения p = 1 Do While Workbooks("Филиал").Worksheets("1").Cells(p, 3) <> 0 p = p + 1 Loop Do While Workbooks(FileName).Worksheets("1").Cells(1 + n, 3) <> 0 Workbooks("Филиал").Worksheets("1").Cells(p + n, 1) = Workbooks(FileName).Worksheets("1").Cells(1 + n, 1) Workbooks("Филиал").Worksheets("1").Cells(p + n, 2) = Workbooks(FileName).Worksheets("1").Cells(1 + n, 2) Workbooks("Филиал").Worksheets("1").Cells(p + n, 3) = Workbooks(FileName).Worksheets("1").Cells(1 + n, 3) n = n + 1 Loop Workbooks(ShortFileName).Activate Application.DisplayAlerts = False Call Application.ActiveWorkbook.Save Application.DisplayAlerts = True Workbooks(ShortFileName).Close ' переименовываем обработанный файл Name FileName As "C:\Отчет\o" + kodname + "-" + filname + "-" + data + ".009" ' End If Next i On Error GoTo 0 ExitSub: End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2008, 07:30 |
|
||
|
Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext И "Call" здесь: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2008, 17:33 |
|
||
|
Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
"1" - это имя листа. а то, что я сохраняю файл "Филиал" - это не лишнее. если я ошибаюсь - объясните... ошибка в этом промежутке: Do While Workbooks(FileName).Worksheets("1").Cells(1 + n, 3) <> 0 Workbooks("Филиал").Worksheets("1").Cells(p + n, 1) = Workbooks(FileName).Worksheets("1").Cells(1 + n, 1) Workbooks("Филиал").Worksheets("1").Cells(p + n, 2) = Workbooks(FileName).Worksheets("1").Cells(1 + n, 2) Workbooks("Филиал").Worksheets("1").Cells(p + n, 3) = Workbooks(FileName).Worksheets("1").Cells(1 + n, 3) n = n + 1 Loop без этого куска вроде все делает, а с ним - остается открытый файл "Филиал" и на этом все заканчивается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 08:19 |
|
||
|
Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
возможно FileName - не распознается как Workbook Excel? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 08:21 |
|
||
|
Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
в алгоритм не вникал, но первое, что бросилось в глаза, переменной n не присваевается начальное значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 09:54 |
|
||
|
Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
тоже увидел. присваивал. результатов не дало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 12:51 |
|
||
|
Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
в принципе задача стоит собрать и консолидировать данные из многих файлов, которые заполняются многочисленными филиалами. имена файлов уникальны: сХХfNNNNdDD.MM.YYYY.007 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 12:55 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35734093&tid=2161485]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 391ms |

| 0 / 0 |
