Начало Новини Маркет Проекти Форум ИТ Работа Уроци Скриптове WiFi точки Още Вход


Нова тема
VBA
Тази тема е погледната 216 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 18.01.2012 01:23
dens_5
Чирак

Мнения: (4)

Здравейте, имам следната задача: да създам макрос в Word, който да ми
изведе таблица във следния вид:
            Дата          Приход     Разход
 1.     18.1.2012 г.       
 2.     19.1.2012 г.       
 3.     20.1.2012 г.       
 4.     23.1.2012 г.       
 5.     24.1.2012 г.       
 6.     25.1.2012 г.       
 7.     26.1.2012 г.       
 8.     27.1.2012 г.       
 9.     30.1.2012 г.       
 10.     31.1.2012 г.       
 11.     01.2.2012 г.       
 12.     02.2.2012 г.       
 13.     03.2.2012 г.       
 14.     06.2.2012 г.       
 15.     07.2.2012 г.       
 16.           
 17.           
 18.           
 19.           
 20.           

проблема ми е относно въвеждането на датата, тъй като трябва да се
въведат само дните от седмицата без събота и неделя. При мен ги няма,
но въпреки това ги брои и не ми запълва таблицата до номер 20.Ето и
кода, който съм написала:

Sub CreateTableTwo()
'
' CreateTableTwo Макрос
'
'
Dim app As Object
Dim tbl As Table
Dim NomerNaRed As Integer
Dim nomer As Integer
Dim Data As Date
Dim BroiRedove As Integer


BroiRedove = Val(InputBox("Въведете число за броя на редовете, които
да съдържа таблицата"))
If BroiRedove = 0 Then Exit Sub

Set tbl = ActiveDocument.Tables.Add(Selection.Range, BroiRedove + 1,
4)
tbl.AutoFormat (wdTableFormatGrid1)
Selection.Cells.SetWidth 36, wdAdjustNone
Selection.Move wdColumn, 1
Selection.Cells.SetWidth 78, wdAdjustNone
Selection.Move wdColumn, 1
Selection.Cells.SetWidth 78, wdAdjustNone
Selection.Move wdColumn, 1
Selection.Cells.SetWidth 78, wdAdjustNone

tbl.Cell(1, 1).Select
Selection.MoveRight wdCharacter, 1, wdExtend
Selection.Cells.Merge

tbl.Rows(1).Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.MoveLeft wdCharacter, 1
Selection.Text = "Дата"
Selection.Move wdColumn, 1
Selection.Text = "Приход"
Selection.Move wdColumn, 1
Selection.Text = "Разход"

For nomer = 1 To BroiRedove
    tbl.Cell(nomer + 1, 1).Select
    Selection.Text = Str(nomer) + "."
    Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
Next

tbl.Cell(2, 2).Select
nomer = 1
For Data = Date To Date + BroiRedove
    Dim MyWeekDay
    MyWeekDay = weekday(Data)
    If MyWeekDay = 1 Then Data = Data + 1
    If MyWeekDay = 7 Then Data = Data + 2
    tbl.Cell(nomer + 1, 2).Select
    Selection.Text = Str(Data)
    nomer = nomer + 1
Next
End Sub

Ако някои може да ми каже къде греша? Предварително благодаря :)


 
---------------------------
Потребител в Mytech.bg от: 03.01.10
напиши eMail напиши лично съобщение виж профила на
 2 посетители са активни в този форум (0 потребители и 2 гости)  
Активни потребители: ---
   




myTech.bg © 2004 - 2011 | Контакти | За реклама