Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: VBA Excel 2003 Добавлено: 17.01.08 12:08  

Автор вопроса:  Таня | ICQ: 410031407 
Помогите чайнику, кто чем может! Проблемка такая:
Существует книга, в ней лист, на листе таблица, состоящая из 5-и столбцов: 1 неделя, 2 неделя...,5 неделя, ячейки которой заполняются данными, ссылаясь на данные других файлов. Можно ли сделать в VBA или просто в Excel так, чтобы данные обновлялись понедельно, т.е 2 неделя обновлялась только на 2 недели месяца начиная со вторника по пятницу и так все остальные недели( т.е весь смысл того, что я написала, состоит в том, чтобы данные которые заносят в другие файлы на будущие недели, в моей таблице появлялись только в реально текущую неделю). Заранее всем спасибо, буду рада любой помощи

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 17.01.08 13:46
Во-первых, надо знать что-за входные данные будут.

Во-вторых, да, возможно конечно. Скорее всего макросами.

Надо описать подробно, а то не до конца понятно кто на какие недели и когда будет вводить исходные данные и в какие файлы (и какие там листы и таблицы). Удачи!

Ответить

Номер ответа: 2
Автор ответа:
 Таня



ICQ: 410031407 

Вопросов: 11
Ответов: 23
 Профиль | | #2 Добавлено: 17.01.08 14:28
По-поводу всего выше изложенного:

Файл с входными данными состоит: книга, в ней листы: Неделя1, Неделя2...., Неделя5(итого 5 листов)
пользователь в лист1(Неделя1)в определенную ячейку ставит число(в %- процент выполнения плана, предположим), это значение попадает в мою таблицу в столбец 1(Неделя1)в ячейку предп.A1(попадает с помощью ссылки в Excel)и так далее понедельно. Вот и хотелось бы ,чтоб в моей таблице эти обновления ссылок происходили именно в текущую неделю, а не тогда ,когда пользователи забили данные, предположим они заполнили все 5 листов(все 5 недель), а сегодня только 3 неделя месяца, так вот чтобы в моей таблице обновились только 3 недели.
Вот такие пироги, заранее благодарю за любую помощь

Ответить

Номер ответа: 3
Автор ответа:
 Таня



ICQ: 410031407 

Вопросов: 11
Ответов: 23
 Профиль | | #3 Добавлено: 17.01.08 14:45
вот еще пришло в голову: а можно сделать так,чтобы в текущую неделю неделю был активен только столбец соответствующий этой неделе,а ячейки в других столбцах были заблокированы( тек.неделя 3 => работает столбец 3 и обновляется информация только в нем
"""""""""""""""""""""""""""""""""""""""""

Ответить

Номер ответа: 4
Автор ответа:
 Таня



ICQ: 410031407 

Вопросов: 11
Ответов: 23
 Профиль | | #4 Добавлено: 17.01.08 15:11
Извиняюсь, это был вопрос

Ответить

Номер ответа: 5
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #5
Добавлено: 17.01.08 16:08
Предположим, заголовок выходной таблицы находится в диапазоне B3:F3 и содержит номера пяти недель, выходные данные находятся в диапазоне B4:F104, подписи к данным в столбце A4:A104, исходные данные лежат в файле "Книга3.xls" в первых пяти листах и представляют из себя подписи к данным в столбце A4:A104 и сами данные в столбце подписи к данным в столбце B4:B104. Книга3.xls должна быть открыта. Код пишем в модуле выходного файла.

Option Explicit

Sub UpdateWeek()
    Dim w As Long
    Dim i As Long
    Dim j As Long
    w = CLng(Format(Now(), "ww", vbMonday))
    For i = 2 To 5
        If Cells(3, i).Value = w Then
            For j = 4 To 104
                Cells(j, i).Value = Excel.Worksheets("Êíèãà3.xls";).Worksheets(w - Cells(3, 2).Value + 1).Cells(j, 2).Value
            Next j
            Exit For
        End If
    Next i
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Таня



ICQ: 410031407 

Вопросов: 11
Ответов: 23
 Профиль | | #6 Добавлено: 17.01.08 16:40
Книга3.xls должна быть открыта.
''''''''''''''''''''''''''''''''''
В моем случае это очень сложно, т.к у меня 28 входных файлов

Ответить

Номер ответа: 7
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #7
Добавлено: 17.01.08 21:09
Ну так тогда надо составить в Excel где-нибудь список полных путей к файлам и поочередно их открывать. Для наглядности при создании этого довольно большого списка можно использовать вызов стандартных диалогов через GetOpenFileNameA

Ответить

Номер ответа: 8
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #8
Добавлено: 17.01.08 21:39
У меня есть одна похожая наработка, только входных файлов всегда строго 1 или 2, данные в определённый день вводятся или не вводятся, рабочий файл нужен для промежуточных расчётов, есть ещё один выходной файл Excel, а также шаблон и выходной документы в Word. Вся работа делается нажатием одной кнопки, визуальной проверкой правильности и нажатием второй кнопки. Всё! Попробуй сделать так же просто.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам