Имя:    Пароль:      Помнить меня       
Unsorted   ~  Software  ~  Development and Design  ~  Помощь по Visual Basic Все вопросы по Visual Basic сюда
На страницу «  1, 2, 3
tornado
Сообщение  13 Дек 2009, 21:13  Ссылка : Ответить с цитатой
Пол: Мужской 
C нами с 20.01.2009
Репутация: 109.9

__


Последний раз редактировалось: tornado (15 Фев 2014, 18:12), всего редактировалось 1 раз

_____________________________
Очень часто сохранить любовь помогают вещи совершенно не имеющие к ней никакого отношения, например, моральные обязательства. (Альбер Камю)
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
Эрендир
Сообщение  14 Дек 2009, 20:38  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Мужской 
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 столбца двухмерного масива


Надеюсь я все доступно объяснил. если есть какие трудности или еще чего, пишите в личку.
В начало
Профиль : Личное Сообщение : Сайт : SkypeID : ICQ
tornado
Сообщение  17 Дек 2009, 21:30  Ссылка : Ответить с цитатой
Пол: Мужской 
C нами с 20.01.2009
Репутация: 109.9

__


Последний раз редактировалось: tornado (15 Фев 2014, 18:14), всего редактировалось 1 раз

_____________________________
Очень часто сохранить любовь помогают вещи совершенно не имеющие к ней никакого отношения, например, моральные обязательства. (Альбер Камю)
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
demeterz
Сообщение  16 Янв 2010, 20:23  Ссылка : Ответить с цитатой
Возраст: 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 'скрывает формулы, но вычесления и изменения в ячейках остются доступными

_____________________________
"Беда современной России в том, что ею управляют люди, которые не связывают свое будущее и будущее своих детей с это страной" (с) Римма Маркова
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : JabberID
Эрендир
Сообщение  16 Янв 2010, 21:37  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Мужской 
C нами с 04.04.2006
Репутация: 102.9

demeterz, рад помочь. VBA давно устарел и уж давно бы МС надо от него отказатся.

Для того, что бы там появился .Net необходимо поставить VS2008 с шаблонами для Excel. Так же в самом офиссе должны быть установлены компоненты для .Net

Это даст Вам практически полный контроль над офисом из своей программы.
В начало
Профиль : Личное Сообщение : Сайт : SkypeID : ICQ
demeterz
Сообщение  17 Янв 2010, 13:36  Ссылка : Ответить с цитатой
Возраст: 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

_____________________________
"Беда современной России в том, что ею управляют люди, которые не связывают свое будущее и будущее своих детей с это страной" (с) Римма Маркова
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : JabberID
Olga777
Сообщение  08 Дек 2011, 11:55  Ссылка : Ответить с цитатой
Возраст: 36 Пол: Женский 
C нами с 20.04.2008
Репутация: 67.7

Помогите пожалуйста если не сложно вот с этими 3 задачами, очень буду благодарен за помощь просто очень нужно.(VBA: Excel)
Желательно программу от 1 до последней строчки... т.к плохо знаю этот язык


1)ЗАДАЧА:
Составьте функцию, которая проверяет, действительно ли количество положительных
элементов диапазона меньше количества его отрицательных элементов.

2)Разработать функцию, выполняющую указанное задание. Функция должна получать диапазон для обработки, а также, при необходимости, заданное число или заданный интервал, и возвращать массив. Для проверки работоспособности функции использовать её для вставки формулы массива.
ЗАДАЧА:
Составьте функцию, которая находит в каждом столбце диапазона количество элементов, меньших среднего арифметического значения всех элементов диапазона

3)Разработать функцию, выполняющую указанное задание. Функция должна получать диапазон для обработки, а также, при необходимости, заданное число или заданный интервал. Для задания параметров функции разработать пользовательскую форму, которая должна вызываться с помощью пользовательского пункта контекстного меню. Результат функции выводить с помощью стандартной функции MsgBox.
ЗАДАЧА:
Найти сумму элементов, кратных заданному числу.
В начало
Профиль : Личное Сообщение
Olga777
Сообщение  08 Дек 2011, 16:24  Ссылка : Ответить с цитатой
Возраст: 36 Пол: Женский 
C нами с 20.04.2008
Репутация: 67.7

Плакать помогите люди
В начало
Профиль : Личное Сообщение
Показать сообщения:   
На страницу «  1, 2, 3

Unsorted   ~  Software  ~  Development and Design  ~  Помощь по Visual Basic

Ответить на тему

Перейти:  





Powered by phpBB   © Unsorted Team  support@unsorted.me  promo@unsorted.me  Полезные скрипты