Операции над ячейками в XLS

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Acclaim
Сообщения: 3
Зарегистрирован: 15 апр 2005, 05:39

У меня есть код следующего содержания:

Option Explicit
Public main_file As String

Public Sub Auto_Open()
main
a
rezult
End Sub

Sub main()
ChDir "C:\xml"
Workbooks.OpenXML Filename:="C:\xml\records.xml", LoadOption:= _
xlXmlLoadImportToList
Rows("2:60").Select
Selection.Delete Shift:=xlUp
Windows("Запуск.xls").Activate
End Sub



Sub rezult()
DialogSheets("1").Show
End Sub

Sub a()
Dim i As Integer
Dim s, r, n, x, z As Integer
Dim iRow, iFormulaOne, iFormulaTwo, iRowLast As Integer
Dim currentAgr As String: currentAgr = ""
Dim counter As Long: counter = 3

Windows("Книга1").Activate
s = 0 ' s - суммирование всех ячеек в столбце E
x = 0 ' количество строк со значением = 1
z = 0 ' количество строк со значением = 0
r = 0 ' r- это суммирование ячеек в столбце E при условии что ячейки принадлежат строкам с
условием =1
n = 0 ' n- это суммирование ячеек в столбце E при условии что ячейки принадлежат строкам с условием
=1

Full_Sum = 0
For i = 1 To 10000
If Cells(i, 36).Value = 1 Then Full_Sum = Full_Sum + Cells(i, 2).Value
s = Full_Sum
Next i


For i = 2 To 10000
If Cells(i, 36) = "1" Then
r = r + 1
End If
Next

For i = 2 To 10000
If Cells(i, 36) = "0" Then
n = n + 1
End If
Next

For i = 2 To 10000
If Cells(i, 36) >= "0" Then
s = s + 1
End If
Next


Windows("запуск").Activate
Range("C3") = s
Range("C4") = r
Range("C5") = n
Range("C6") = x
Range("C7") = z


не могу добиться чтобы считались переменные s, n, r
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

у тебя переменные имеют область видимости процедуры - т.е. локальные, их значение доступно только в процедуре "А"
Изображение
Ответить