|
|
C нами с 20.01.2009 Репутация: 109.9
|
|
__
|
Последний раз редактировалось: tornado (15 Фев 2014, 18:12), всего редактировалось 1 раз
_____________________________ Очень часто сохранить любовь помогают вещи совершенно не имеющие к ней никакого отношения, например, моральные обязательства. (Альбер Камю)
|
|
|
|
|
|
|
Возраст: 40 C нами с 04.04.2006 Репутация: 102.9
|
|
Dim arr(3,5) as Integer
'Тут его забиваем числиками
dim sum as integer, i as integer
sum =0
for i=0 to 5 'Сам счетчик, который перебирает числовые значения от 0 до 5 с шагом 1 и записывает значение в переменную i
sum=sum+arr(0,i)'Заносит в переменную sum сумму значения переменной sum и
'значения ячекий двухмерного масива. Причем, индекс масива
'указываем сначала 0 (первый столбец), а второй инндекс (срока)
'указываем счетчиком i. Таким образом перебираем все 6 элементов
'в 1 столбце двухмерного масива (от 0 до 5)
next
|
То есть я надеюсь понятно, что при i=0 переменная sum так же равно 0. Мы к ней пребовляем то, что у нас в первой ячейке первого тсолбца масива. например 6, посел чего 0+6 = 6 мы заносим в переменную sum
При i=1 у нас переменная sum равна уже 6, потому мы к ней прибовляем значения второй ячейки первого столбца двухмерного масива. Например 7 - 6+7=13 и заносим ответ в переменную sum
При i=2 у нас sum уже равно 13. И все точно так же.
Таким образом мы получим по окончанию цикла сумму всех элементов 1 столбца двухмерного масива
Надеюсь я все доступно объяснил. если есть какие трудности или еще чего, пишите в личку.
|
|
|
|
|
|
|
|
C нами с 20.01.2009 Репутация: 109.9
|
|
__
|
Последний раз редактировалось: tornado (15 Фев 2014, 18:14), всего редактировалось 1 раз
_____________________________ Очень часто сохранить любовь помогают вещи совершенно не имеющие к ней никакого отношения, например, моральные обязательства. (Альбер Камю)
|
|
|
|
|
|
|
Возраст: 46 C нами с 13.08.2005 Репутация: 99.5
|
|
Доброго времени суток!!!
Спасибо за совет Эрендир на мой пост от 23 Июл 2009, 12:36, но я пока не смог с помощью VBA встроенного в Excel это сделать... Видать там не .Net , а 6 и посему вопрос остался открытым
Опять балуюсь-программирую на VBA встроенный в Excel.
Как сделать так что бы не было видно формул забитых в ячейки, ни при редактировании ячейки, ни в строке формул средствами VBA...
Вот наработки может кому пригодиться, но мне пока не подходят:
' защита всех ячеек содержащих формулы от изменений
' Dim iList As Worksheet
' For Each iList In Me.Worksheets
' If iList.ProtectContents = True Then
' iList.EnableOutlining = True
' iList.Protect UserInterfaceOnly:=True
' End If
' Next
'скрытие формул в ячейках и в строке формул
'Application.EditDirectlyInCell = False 'запрет на редактирование всех ячеек непосредственно в них
'Application.DisplayFormulaBar = False 'показ строку ввода формул
'Application.ActiveSheet.Range("E21:T21").FormulaHidden = True 'скрыть формулы в выбранном диапазоне Range("B2:C2")
'ActiveSheet.Range("B2:C2").EditDirectlyInCell = True
'ActiveSheet.Range("B2:C2").Locked = False 'запрет на редактирование выбранного диапазона Range("B2:C2") непосредственно в них
'ActiveSheet.Protect
ActiveSheet.Protect 'скрывает формулы, но вычесления и изменения в ячейках остются доступными
|
_____________________________ "Беда современной России в том, что ею управляют люди, которые не связывают свое будущее и будущее своих детей с это страной" (с) Римма Маркова
|
|
|
|
|
|
|
Возраст: 40 C нами с 04.04.2006 Репутация: 102.9
|
|
demeterz, рад помочь. VBA давно устарел и уж давно бы МС надо от него отказатся.
Для того, что бы там появился .Net необходимо поставить VS2008 с шаблонами для Excel. Так же в самом офиссе должны быть установлены компоненты для .Net
Это даст Вам практически полный контроль над офисом из своей программы.
|
|
|
|
|
|
|
|
Возраст: 46 C нами с 13.08.2005 Репутация: 99.5
|
|
Отвечая на свои посты от 23 Июл 2009, 12:36 и 17 Янв 2010, 21:30
Может кому еще пригодится
'прописываем код в Modules
Private Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
Public Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
'возвращает имя компьютера
Function ReturnComputerName() As String
Dim rString As String * 255, sLen As Long, tString As String
tString = ""
On Error Resume Next
sLen = GetComputerName(rString, 255)
sLen = InStr(1, rString, Chr(0))
If sLen > 0 Then
tString = Left(rString, sLen - 1)
Else
tString = rString
End If
On Error GoTo 0
ReturnComputerName = UCase(Trim(tString))
End Function
''возвращает имя пользователя
Function ReturnUserName() As String
' returns the NT Domain User Name
Dim rString As String * 255, sLen As Long, tString As String
tString = ""
On Error Resume Next
sLen = GetUserName(rString, 255)
sLen = InStr(1, rString, Chr(0))
If sLen > 0 Then
tString = Left(rString, sLen - 1)
Else
tString = rString
End If
On Error GoTo 0
ReturnUserName = UCase(Trim(tString))
End Function
'серийный номер жесткого диска
Function Drive_C_SerialNumber() As String
Drive_C_SerialNumber = CreateObject("scripting.filesystemobject").GetDrive("c:\").SerialNumber
End Function
'ID номер системной платы
Public Function MBSerialNumber() As String
'должно быть установленно WMI (Инструментарий для Управления Windows)
Dim objs As Object
Dim obj As Object
Dim WMI As Object
Dim sAns As String
Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("Win32_BaseBoard")
For Each obj In objs
sAns = sAns & obj.SerialNumber
If sAns < objs.Count Then sAns = sAns & ","
Next
MBSerialNumber = sAns
End Function
'вывод полного имени ПК, имени пользователя, серийного номера диска С через и серийного номера системной платы MsgBox
'в рабочей пргр должно быть отключено
Sub Testem()
MsgBox "Полное имя ПК : " & ReturnComputerName & vbNewLine & _
"Имя пользователя : " & ReturnUserName & vbNewLine & _
"Серийный номер диска С : " & Drive_C_SerialNumber & vbNewLine & _
"ID системной платы : " & MBSerialNumber
End Sub
|
_____________________________ "Беда современной России в том, что ею управляют люди, которые не связывают свое будущее и будущее своих детей с это страной" (с) Римма Маркова
|
|
|
|
|
|
|
Возраст: 37 C нами с 20.04.2008 Репутация: 67.7
|
|
Помогите пожалуйста если не сложно вот с этими 3 задачами, очень буду благодарен за помощь просто очень нужно.(VBA: Excel)
Желательно программу от 1 до последней строчки... т.к плохо знаю этот язык
1)ЗАДАЧА:
Составьте функцию, которая проверяет, действительно ли количество положительных
элементов диапазона меньше количества его отрицательных элементов.
2)Разработать функцию, выполняющую указанное задание. Функция должна получать диапазон для обработки, а также, при необходимости, заданное число или заданный интервал, и возвращать массив. Для проверки работоспособности функции использовать её для вставки формулы массива.
ЗАДАЧА:
Составьте функцию, которая находит в каждом столбце диапазона количество элементов, меньших среднего арифметического значения всех элементов диапазона
3)Разработать функцию, выполняющую указанное задание. Функция должна получать диапазон для обработки, а также, при необходимости, заданное число или заданный интервал. Для задания параметров функции разработать пользовательскую форму, которая должна вызываться с помощью пользовательского пункта контекстного меню. Результат функции выводить с помощью стандартной функции MsgBox.
ЗАДАЧА:
Найти сумму элементов, кратных заданному числу.
|
|
|
|
|
|
|
|
Возраст: 37 C нами с 20.04.2008 Репутация: 67.7
|
|
помогите люди
|
|
|
|
|
|
|
|
|