Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.05 c
15-1188209341
Ломброзо
2007-08-27 14:09
2007.09.23
Как вернуть домен


15-1187856224
Alien1769
2007-08-23 12:03
2007.09.23
Пособие для руководителей


2-1188224563
Bora.ru
2007-08-27 18:22
2007.09.23
Запуск программы-ресурса


2-1187166562
DevilDevil
2007-08-15 12:29
2007.09.23
лимит стека


15-1187855606
pavel_guzhanov
2007-08-23 11:53
2007.09.23
формат jpg





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский