Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.23;
Скачать: CL | DM;

Вниз

ActiveCell.FormulaR1C1 = "=SUM(R[-CInt(num)]C:R[-1]C)"   Найти похожие ветки 

 
gentos   (2007-08-29 17:17) [0]

здрасте пишу макрос по работе необходимо есть следующая ситуация :
num типа integer - не работает !
когда пишу

ActiveCell.FormulaR1C1 = "=SUM(R[-39]C:R[-1]C)" - все работает
а когда подставляю вместо 39 num=39 и типа integer - не работает в чем прикол ?


 
gentos   (2007-08-29 17:20) [1]

код корявый пишу первый раз в VB так что звыняйте , в чем прикол не знаю может нельзя в сумму вставлять переменную типа интежер, а можно только вставлять конкретное число ? хелпа не работает чего-то , гон


Sub MacrOblenergo()
Dim cordnameofpage, num, konec, i  As Integer
Dim NameOfList As String

   cordnameofpage = 2 " incsrease on 40
   cord1 = 2          " incsrease on 40
   cord2 = 41         " incsrease on 40
   
   
   
 For counter = 1 To 4
   
   Windows("30817 ïî Îáëåíåðãî2.xls").Activate
   Sheets("Ëèñò2").Select
   NameOfList = Range("A" + CStr(cordnameofpage))
   NameOfList = Range("A" + CStr(cordnameofpage))
   For i = cordnameofpage To cordnameofpage + 50
    If NameOfList <> Range("A" + CStr(i)) Then
     konec = i - 1
     Exit For
    End If
   Next
   Range(Cells(cordnameofpage, 2), Cells(konec, 27)).Select
   Selection.Copy
   
   Windows("&#210;&#229;&#241;&#242; &#210;&#229;&#236;&#239;&#229;&#240;&#224;&#242;&#243;&#240;&#224; &#231;&#224; 2004 &#227;&#238;&#228;.xls").Activate
   On Error Resume Next
   Err.Clear
   AnyThing = Sheets(NameOfList).Name
   If Err.Number = 0 Then
   "MsgBox "&#203;&#232;&#241;&#242; ""&#208;&#224;&#225;&#238;&#247;&#232;&#233;"" &#241;&#243;&#249;&#229;&#241;&#242;&#226;&#243;&#229;&#242;!"
   "&#226;&#241;&#242;&#224;&#226;&#235;&#255;&#229;&#236; &#228;&#224;&#237;&#237;&#251;&#229;
   Sheets(NameOfList).Select
   Range("B31").Select
   ActiveSheet.Paste
   Columns("A:A").EntireColumn.AutoFit
   "&#226;&#241;&#242;&#224;&#226;&#235;&#255;&#229;&#236; &#228;&#224;&#237;&#237;&#251;&#229;
   
   Windows("30817 &#239;&#238; &#206;&#225;&#235;&#229;&#237;&#229;&#240;&#227;&#238;2.xls").Activate
   Sheets("&#203;&#232;&#241;&#242;2").Select
   Range(Cells(1, 2), Cells(1, 27)).Select
   Selection.Copy
   Windows("&#210;&#229;&#241;&#242; &#210;&#229;&#236;&#239;&#229;&#240;&#224;&#242;&#243;&#240;&#224; &#231;&#224; 2004 &#227;&#238;&#228;.xls").Activate
   Sheets(NameOfList).Select
   Range("B30").Select
   ActiveSheet.Paste
   
   
   Range("A30").Select
   ActiveCell.FormulaR1C1 = "&#209;&#239;&#238;&#230;&#232;&#226;&#224;&#237;&#237;&#255; &#225;&#240;&#243;&#242;&#242;&#238; (&#239;&#238; &#238;&#225;&#235;&#229;&#237;&#229;&#240;&#227;&#238;)"
   Columns("A:A").EntireColumn.AutoFit
   Selection.Font.Bold = True
   
   "" &#241;&#247;&#232;&#242;&#224;&#229;&#236; &#241;&#243;&#236;&#236;&#243; &#239;&#238; &#241;&#242;&#238;&#235;&#225;&#246;&#224;&#236;
   num = CInt(konec) - CInt(cordnameofpage) + 1            "39
   Range("C" + CStr(31 + CInt(num))).Select          " c70
   Application.CutCopyMode = False
   ActiveCell.FormulaR1C1 = "=SUM(R[-CInt(num)]C:R[-1]C)"
   Selection.AutoFill Destination:=Range(Cells(31 + CInt(num), 3), Cells(31 + CInt(num), 27)), Type:=xlFillDefault
   "" &#241;&#247;&#232;&#242;&#224;&#229;&#236; &#241;&#243;&#236;&#236;&#243; &#239;&#238; &#241;&#242;&#238;&#235;&#225;&#246;&#224;&#236;
   Range("B" + CStr(31 + CInt(num))).Select
   ActiveCell.FormulaR1C1 = "B&#241;&#252;&#238;&#227;&#238;"
   Range(Cells(31 + CInt(num), 2), Cells(31 + CInt(num), 27)).Select
   Selection.Font.Bold = True
   
   Columns("A:A").EntireColumn.AutoFit
   Columns("B:B").EntireColumn.AutoFit
   
   End If
   Err.Clear
     
   cordnameofpage = konec + 1
   
   
 Next
End Sub


 
Сергей М. ©   (2007-08-29 17:21) [2]

Что значит "не работает" ? Не компилируется что ли ?


 
gentos   (2007-08-29 17:23) [3]


> Сергей М. ©   (29.08.07 17:21) [2]

компилируется но сумму на листе не выводит
я имею ввиду эта строка

ActiveCell.FormulaR1C1 = "=SUM(R[-CInt(num)]C:R[-1]C)"

не срабатывает , в случае когда пишу

ActiveCell.FormulaR1C1 = "=SUM(R[-39]C:R[-1]C)"

- работает ...


 
umbra ©   (2007-08-29 17:24) [4]


> SUM(R[-CInt(num)]C:R[-1]C)

формула - это строка.
"SUM(R[-" + Cstr(num) + "]C:R[-1]C)"


 
gentos   (2007-08-29 17:36) [5]


> umbra ©   (29.08.07 17:24) [4]


ActiveCell.FormulaR1C1 = "=SUM(R[-" + CStr(num) + " ]C:R[-1]C)"

но так тоже не работает :/


 
gentos   (2007-08-29 17:39) [6]


> umbra ©   (29.08.07 17:24) [4]

все ок спасибо большое , тема закрыта



Страницы: 1 вся ветка

Текущий архив: 2007.09.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
4-1174852733
Альберт
2007-03-25 23:58
2007.09.23
запускается чужая программа, надо узнать хэндл окна...


3-1179824530
jiny
2007-05-22 13:02
2007.09.23
Можно ли обратиться к вычисляемому полю не повторяя запроса


9-1160918345
alpha5
2006-10-15 17:19
2007.09.23
OpenGL не хочет отображать букву "я"


2-1188551645
harisma
2007-08-31 13:14
2007.09.23
TImageList и последовательности картинок для TAnimatedImage


2-1188365803
Алик
2007-08-29 09:36
2007.09.23
Как сделать окно главным относительно других?