Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Задачи на Visual Basic (VB).

Автор: freedom83
Дата сообщения: 20.09.2010 15:20
народ, такая проблема
лист защищен и добавлен общий доступ

как сделать так чтобы макросами можно было показывать и скрывать определенные ячейки

Добавлено:
лист конечно же Excel
Автор: chenchen21621
Дата сообщения: 19.10.2010 11:39
:SPAM:
Автор: Legio
Дата сообщения: 23.10.2010 17:48
freedom83
Тебе сюда.

duh_S

Цитата:
не пойму как подключить MSComm прям в модуле...

Если MSComm у тебя Control (то, что вешается на форму), то только так. Но тогда и Sub Main не очень-то нужен -- скрывай себе форму да делай, что надо.
Автор: v1rtyaluk
Дата сообщения: 25.10.2010 18:38
Здравствуйте!
Ребята помогите решить три задачки на ВБ6,0 т.к. его я незнаю ибо пишу на Си шарп
Вот условия:
В заданной матрице В(4,6) найти среднее арифметическое значение. Вывести исходную матрицу и найти среднее геометрическое значение.

Вычислить и вывести произведение элементов заданного массива А14(10) которое превышают заданного числа В.

В заданном массиве Н(13) найти и вывести наименьшее из его нечетных чисел и его номер.
Автор: Legio
Дата сообщения: 26.10.2010 05:37

Цитата:
В заданной матрице В(4,6) найти среднее арифметическое значение.


Код: Dim total_sum As Double
total_sum = 0#

Dim matr(1 To 4, 1 to 6) As Double
' здесь как-то задаются значения элементов матрицы
' matr(1, 1) = чему-нибудь ' вот так, например
' или как-нибудь иначе

Dim i As Integer, j As Integer
For i = 1 To 4
For j = 1 To 6

total_sum = total_sum + matr(i, j)

Next j
Next i

Dim elements_count As Long
' (количество строк) * (количество столбцов)
' elements_count = ((UBound(matr, 1) - LBound(matr, 1)) + 1) * ((UBound(matr, 1) - LBound(matr, 1)) + 1)
' но здесь можно и не заморачиваться:
elements_count = 24
Dim average_value As Double
average_value = total_sum / elements_count
Автор: ItsJustMe
Дата сообщения: 27.10.2010 02:03

Цитата:
И что такое среднее геометрическое?

Автор: Legio
Дата сообщения: 27.10.2010 04:36
Понятно.

Извлечение корня n-ой степени выглядит примерно так:

Код: result = expression_under_the_root ^ (1 / n)
Автор: yuliankar
Дата сообщения: 10.11.2010 17:46
ЗДРАВСТВУЙТЕ ПОМОГИ ПОЖАЛУЙСТА СРОЧНО РЕШИТЬ ЗАДАЧИ!!!ПРОШУ!!!!!!К ЗАВТРЕШНЕМУ УЖЕ НАДО((((

1)Дан одновременный массив числовых значений насчитывающий N элементов.Поменять местами M первых элементов с группой элементов,НАЧИНАЮЩИХСЯ с № K.
2)Вычислить среднее арифметическое отрицательных чисел и количество положительных чисел.При вводе нуля закончить работу.
3)Определить значение функции z=1/(XY). Учесть область допустимых значений.


4)Даны число P и число H (P<H). Суммировать вводимые числа,большие H, и отдельно суммировать числа,меньшие P. Определить количество тех и других слагаемых.При вводе числа равного P или H, закончить работу.
5)Дано действительное число A.Вычислить f(A),если
f(A)=A в квадрате , при A<=0;
f(A)=1/A,при 0<A<=1,
f(A)=корень из A в противном случае.

6)Дан одновременный массив числовых значений , насчитывающий N элементов.Поменять местами M первых элементов с группой элементов, ЗАКАНЧИВАЮЩИХСЯ № K.

Добавлено:
???((((((((((((
Автор: david141
Дата сообщения: 15.11.2010 23:15
Всем привет.
Как заменить пробел в TextBox при вводе на любой другой символ?
Спасибо.
Автор: dneprcomp
Дата сообщения: 16.11.2010 03:47
david141
На потерю фокуса

Код: TextBox.text=replace(TextBox.text, " ", "любой другой символ")
Автор: SahOC
Дата сообщения: 21.11.2010 13:36
Помогите пожалуйста с Задачей по Visual Basic.
В задаче надо использовать библиотеку DLL и форму Form Aplication, то есть связать их вместе.

Задача:
В последовательность Z вводится сколько угодно чисел(до 5 знаков допустим)
Далее вводится число Х , которое сравнивается с единичным занчением каждого введённого числа Z. Если значения совпали то число откладывается для дальнешей работы.
Пример:

Z= 15 25 47 140
X=5
5 есть в числах 15 и 25 - то есть они откладываются(52 не подойдёт так как 5 в десятках а не в единицах)

Последнее действие - (1+5) * (2+5) = 6*7 = 42 (если бы числе с 5 на конце было бы три, такое действие было бы с 3 мя числами и т.д.) то есть число разбивается на простое число складывается и умножается.

Так же в последовательность Z числа могут вводиться и через запятую пробел или точку. Числа все вводятся целые.

Автор: PI21
Дата сообщения: 03.12.2010 15:34
Ребят, привет! Пожалуйста, помогите! очень нужно решить 4 задачи. Там по идее код не сложный, но я даже не знаю и этого. Так как препод вообще ничего не объясняет и ищи всё сам где хочешь. Буду благодарна за любую вашу помощь!

1. Дан целочисленный массив с количеством элементов n. «Сожмите» массив, выбросив из него каждый второй элемент (дополнительный массив при этом не использовать).

2. Получить матрицу:    
1    2    3    …    9    10                        
0    1    2    …    8    9                        
0    0    1    …    7    8                        
…    …    …    …    …    …                        
0    0    0    …    0    1                        

3. Даны две дроби A/B и C/D (А, В, С, D – натуральные числа). Составить программу:
– деления дроби на дробь;
– умножения дроби на дробь;
– сложения этих дробей.
Ответ должен быть несократимой дробью.

4. Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте.

Версия 2005
Автор: SahOC
Дата сообщения: 06.12.2010 13:03
Живые есть?
Автор: Ehour
Дата сообщения: 10.12.2010 20:07
Ребят помогите с кодом на ВБА :
нужно в динамическом массиве составить единичную матрицу, а потом все это дело в электронную таблицу! пробовал массу вариантов, ну не работает и все!
Автор: ZheKA767
Дата сообщения: 10.12.2010 23:29
Подскажите как в VB правильно записываются данные формулы?

1. Формула
http://uimg.net.ru/_ph/1/2/726451214.jpg


2. Формула

http://uimg.net.ru/_ph/1/2/17242499.jpg
Автор: Legio
Дата сообщения: 11.12.2010 07:35
Ehour

Код:
const n as long = 7 ' размер матрицы
Dim z() as integer
redim z(1 to n, 1 to n)
dim i as long, j as long
for i = 1 to n
for j = 1 to n
if i = j then
z(i,j) = 1
else
z(i,j) = 0
endif
next j
next i
' в принципе, для инициализации достаточно и одного цикла
' потому что дефолтные значения так и так равны 0
' for i = 1 to n
' z(i,i)=1
' next i

' есть способ элегантный, но дающий специфический результат
' range(cells(1,1),cells(n,n)).value = z

' но лучше делать через цикл
for i = 1 to n
for j = 1 to n
cells(i,j).value = z(i,j)
next j
next i
Автор: Ehour
Дата сообщения: 11.12.2010 14:01
Спасибо Legio,
Автор: Medeline
Дата сообщения: 12.12.2010 19:30
помогите пожалуйста решить задачу на Visual Basic. срочно надо =((
Партия куриных окорочков была закуплена на сумму S руб. и продана с надбавкой N% .Вычислить: прибыль, полученную продавцом.
как и что вводить в программе(((
Автор: blaro
Дата сообщения: 12.12.2010 20:12
Medeline
Вводишь S рублей, добовляешь N процентов, потом из полученной суммы(та которая уже с процентами) вычитаешь S-получаешь прибыль.
Автор: LesyaPETROVA
Дата сообщения: 14.12.2010 17:33
В матрице размером 5х3 поменять местами строку с наибольшим элементом и строку с наименьшим элементом.

Dim m(50, 50) As Double
Private Sub Command1_Click()
Picture2.Cls
Picture1.Cls
For i = 0 To 3
st = InputBox("Введите строку массива", "Ввод данных")
astr = Split(st, " ")
For j = 0 To 3
m(i, j) = Val(astr(j))
Picture1.Print m(i, j);
Next j
astr = ""
Picture1.Print
Next i
End Sub
Private Sub Command2_Click()
For i = 0 To 3
For j = 0 To 3
If m(i, j) < m(j, i) Then
m(i, j) = m(j, i)
End If
Picture2.Print m(i, j);
Next j
Picture2.Print
Next i
End Sub

Private Sub Form_Load()
Command1.Caption = "ввести массив 5*3"
Command2.Caption = "поменять"
Label1.Caption = "основная"
Label2.Caption = "измененная"

End Sub


а у меня ваще черт знает что меняет(((((((помогите плиз)))
Автор: Delozva
Дата сообщения: 14.12.2010 18:53
Дано ряд чисел {6, 1, 2, -1, 7, 8, 3, -5, 4}

1) Ввести эти числа в одномерный масив Z; напечатать его в столбец.
2) позетивные елементы масива увеличить в два раза
3) Вывести превращеный масив на экран



Ребята помогите, задали а я вообще ничего не понимаю как его решать!
это задача первая)))


ЗАДАЧА 2
Задана матрица
1 4 -6
-2 3 9
10 5 -8

1) ввести её в даохмерный масив S
2) Найти максимальный элемент главной диагонали
3) позетивные елементи заменить противоположными
4) вивести максимальный елемент и превращеный масив как таблицу

Вот Вторая задача!!! помогите пожалуйста!!
Автор: FEGORA
Дата сообщения: 15.12.2010 18:06
всем привет, пишу надстройку к ексель в виде dll возникло пара вопросов, может кто подскажет:
1) как привязать библиотеку к конкретному ексель, не указывая пути что-то в стиле Application.caller только не знаю как правильно оформить
2) почему при такой постановке кода он выдаёт синтаксическую ошибку?

Dim ex As New Excel.Application
with ex
.Range("$A$4:A" + CStr(last_row)).AutoFilter(Field:=номер_столбца_arr(i), Criteria1:=.Cells(last_row, номер_столбца_arr(i)).Value)....


и т.д. во всех местах где я обращаюсь к ренджу

3) как я понимяю для вызова из VB макроса VBA используется .Run("x") а как передать параметры в этот макрос в VB.NET я писал .Run("x",y) здесь такое почему-то не прокатывает выделяет как ошибку
Автор: AndVGri
Дата сообщения: 20.12.2010 05:31
FEGORA

Цитата:
Dim ex As New Excel.Application

А где собственно Workbook, Worksheet? Создание Excel не есть создание этих объектов

Цитата:
здесь такое почему-то не прокатывает выделяет как ошибку

где? в VBA или VB.NET
и как привязывал dll к Excel?
Автор: Luchizar
Дата сообщения: 28.12.2010 01:02
Приветствую, подскажите пожалуйста как задать значения в скобках?

If dResult (меньше чем 0) Then
MsgBox "убыок"
End If
If dResult (больше чем 0 и до 10) Then
MsgBox "низкий"
End If
If dResult (от 10 и до 20) Then
MsgBox "средний"
End If
If dResult (от 21 выше) Then
MsgBox "высокий"
End If


вот все целиком

Private Sub cmdOK_Click()
Dim dCost As Double
Dim dVlas As Double
Dim dZal As Double
Dim dVal As Double
Dim dVid As Double
Dim dKoef As Double
Dim dResult As Double
iCost = CDbl(txtCost.Text)
iVlas = CDbl(txtVlas.Text)
iZal = CDbl(txtZal.Text)
iVal = CDbl(txtVal.Text)
iVid = CDbl(txtVid.Text)
iKoef = CDbl(txtKoef.Text)
dResult = (1 - iKoef) * (iVal / iCost * 100 - iVid) * iZal / iVlas
dResult = Format(dResult, "Fixed")
txtResult.Text = CStr(dResult)
If dResult (?) Then
MsgBox "убыок"
End If
If dResult (?) Then
MsgBox "низкий"
End If
If dResult (?) Then
MsgBox "средний"
End If
If dResult (?) Then
MsgBox "высокий"
End If
End Sub"
Автор: AndVGri
Дата сообщения: 28.12.2010 01:51
Luchizar

Цитата:
If dResult (?) Then
MsgBox "убыок"
End If
If dResult (?) Then
MsgBox "низкий"
End If
If dResult (?) Then
MsgBox "средний"
End If
If dResult (?) Then
MsgBox "высокий"
End If


Код:
If dResult <= 0 Then
MsgBox "убыок"
ElseIf (dResult > 0) And (dResult <= 10) Then
MsgBox "низкий"
ElseIf (dResult > 10) And (dResult <= 20) Then
MsgBox "средний"
Else
MsgBox "высокий"
End If
Автор: Luchizar
Дата сообщения: 28.12.2010 15:11

Цитата:
AndVGri


пасип мен, да прибудет с тобой сила!
Автор: Zhon9
Дата сообщения: 03.01.2011 16:56
Помогите пожалуйста решить задачу
Автор: EvilSpider
Дата сообщения: 03.01.2011 22:13
Zhon9 вроде примерн так

Private Sub FC_Click()
List1.AddItem Text1.Text
List1.ListIndex = List1.ListCount - 1
End Sub
Cls
Private Sub Form_Load()
Dim i As Byte
For i = 1 To 20
List1.AddItem i
Next
End Sub

Private Sub S_Click()
Cls
A = Val(List1)
Picture1.Cls
Picture1.Print "Значение А="; A
Picture1.Print "Значение Y="; 2 * (A ^ 2); вместо; 2 * (A ^ 2) 'Замени Формулу, не разобрал
Автор: Zhon9
Дата сообщения: 03.01.2011 22:22
EvilSpider
огромнейшее спасибо, очень долго мучался не знал как её сделать
Автор: EvilSpider
Дата сообщения: 03.01.2011 23:42
Zhon9 пожалуйста

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940

Предыдущая тема: для Hiper-six (индексы .nsx .smt) хоть что нибудь Опции


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.