Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
VBA Разработать приложение, работающее с файлом произвольного доступа --- Разработать приложение, работающее с файлом произвольного доступа. Данный файл предназначен для хранения информации о студентах: фамилии, имени, но-мере группы. Диалоговое окно «Информация» позволяет перемещаться от записи к записи, редактировать сущест-вующие и создавать новые записи. Переход от записи к записи производится при помощи счетчика. При активи-зации диалогового окна доступным... https://www.cyberforum.ru/ vba/ thread397274.html Нужно найти студента по введённой фамилии, используя InputBox VBA
Помогите создать запрос к таблице. Нужно найти студента по введённой фамилии(Используя InputBox). Фамилия я ввожу сама,изначально они не известны,после ввода мне нужно,чтобы вывелся какой-то определённый студент и вся вводимая о нём информация. Как это сообразить??
VBA Составить программу определения наименьшего числа ферзей, которые можно расставить на доске https://www.cyberforum.ru/ vba/ thread397129.html
Минимум ферзей. Составить программу определения наименьшего числа ферзей, которые можно расставить на доске так, чтобы они держали под боем все ее свободные поля.на всякий случай, тот же вопрос, но для другого языка
VBA Сделать окно Word-документа активным https://www.cyberforum.ru/ vba/ thread397085.html
Добрый день. Сабж. Интересуют возможные замены Activate, как Show в Delphi
VBA Вычислить в журнале продаж общую стоимость продаж DVD-дисков за первую половину месяца
VBA. Написать программу с помощью оператора цикла Do While …Loop, вычисляющую в журнале продаж общую стоимость продаж DVD-дисков за первую половину месяца и помещающую этот результат в свободную ячейку Excel с поясняющей надписью. Результат выполнения программы проверить соответствующими функциями Excel.
VBA В матрице найти количество строк, где нет ни одного нуля В матрице А(6,6) найти количество строк, где нет ни одного нуля, распечатать индексы элементов, больших чем среднее арифметическое матрицы. Помогите, пожалуйста!) https://www.cyberforum.ru/ vba/ thread397018.html
VBA Как вставить в текст "Американские" скобки https://www.cyberforum.ru/ vba/ thread396969.html
Нужно как-то обрамлять выделенный текст в скобки типа << и >>, при этом нужна так же возможность как-то их вводит в форму. У них есть какой-то код или ещё чего? Ато так программу я написал, но как именно эти скобки подпихивать в текст я не знаю, ведь когда их копируешь и переносишь куда-либо они становятся обычными " . Добавлено через 1 минуту Также их нужно как-то в форме отобразить в виде...
VBA Запись файлов на DVD-диск
Люди подскажите как можно записать файлы на CD/dvd диски средствами vba. Я так понимаю, что нужно подключить что-нить в референсах и используя соответствующую объектную всё это описать. Тут два вопроса: 1) что именно подключать (есть ли какие-то стандартные dll-ки или нужно что-то дополнительно ставить в систему) 2) где найти описание объектной модели того, что подключишь. Может кто...
VBA Найти в каждом столбце диапазона элементы, большие среднего геометрического всех элементов диапазона Составьте функцию, которая проверяет в каждом столбце диапазона наличие элементов, больших среднего геометрического всех элементов диапазона вот такое условие. Вроде ошибок нету(ничего не выделяет, пропускает для компиляции без проблем), однако на шаге "ран" пишет, что нужно создать макрос и процедуру.....я в растерянности - просто еще совсем новичок в этом деле( Зараннее благодарю за помощь!... https://www.cyberforum.ru/ vba/ thread396658.html VBA Найти в каждой строке диапазона количество элементов, больших среднего геометрического всех его элементов Среднее геометрическое n положительных чисел x1, x2, …, xn – это корень n-ой степени из произведения x1 *x2 * … * xn. Помогите, пожалуйста. Заранее благодарен за помощь:) https://www.cyberforum.ru/ vba/ thread396624.html
Класс Win32_POTSModem с СИ перевести на ВБ(А) VBA
Здравствуйте, я думаю этот скрипт относительно Win32_POTSModem class на Си class Win32_POTSModem : CIM_PotsModem { uint16 AnswerMode; string AttachedTo; uint16 Availability; string BlindOff; string BlindOn; string Caption; string CompatibilityFlags;
VBA Заполнить на лист Excel таблицу значений функции. Матрицы сохранять в файлы https://www.cyberforum.ru/ vba/ thread396555.html
Заполнить на лист Excel таблицу значений функции f(x,y)=lg(x)*sin(y) при х пренадл. с шагом 2 и у пренадл. с шагом 0,3. Сохранять матрицу , соответсвующую выбранному диапазону в файл. Создать таким образом несколько файлов для разных диапазонов. При нажатии на кнопку "Загрузить" считывать данные для массива данных ьи заполнять ими нужный диапазон. При нажатии на кнопку "ОК" строить диаграмму...
406 / 75 / 6
Регистрация: 31.01.2011
Сообщений: 111
Записей в блоге: 1
03.12.2011, 01:13 0

Запросить у пользователя Фамилию Имя Отчество через пробел в одну строку и выдать в сокращенном виде Фамилию И. О. - VBA - Ответ 2240991

03.12.2011, 01:13. Показов 8166. Ответов 21
Метки (Все метки)

Ответ

Автор Aent , за что ему отдельное спасибо.
покажите преподавателю этот код, пусть порадуется

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
Option Compare Text
Public Function Инициалы(s As String, Optional Cлева As Boolean = False)
 
    Dim sv As Variant
    DimAs String
    DimAs String
    DimAs String
    Dim i As Long
    Dim k As Long
    Application.Volatile True
    
    If InStr(s, ".") > 0 Or Len(Trim$(s)) = 0 Then
        Инициалы = s 'Инициалы заданы явно или пустая строка
        Exit Function
    End If
    'Нормализация входной строки
    s = Replace(Application.Trim(s), Chr(30), "-")
    s = Replace(Replace(s, " -", "-"), "- ", "-")
    s = Replace(Replace(s, "' ", "'"), " '", "'") ' О 'Генри Александр; О' Генри Александр; Н' Гомо; Д' Тревиль
    sv = Split(s)
    
    sИ = vbNullString
    sО = vbNullString
    sФ = vbNullString
    
    i = UBound(sv)
    If i < 1 Then
        Инициалы = s
        Exit Function
    End If
    Select Case sv(i)
        Case "оглы", "кызы", "заде" 'бей, бек, заде, зуль, ибн, кызы, оглы, оль, паша, уль, хан, шах, эд, эль
            i = i - 1
            sО = UCase(Left$(sv(i), 1)) & "."
            i = i - 1
        Case "паша", "хан", "шах", "шейх"
            i = i - 1
        Case Else
            Select Case Right$(sv(i), 3)
                Case "вич", "вна"
                    If i >= 2 Then 'Стандартное окончание русских отчеств
                        sО = СropWord(sv(i))
                    Else           'Имя типа Босан Славич
                        sИ = СropWord(sv(i))
                        sФ = sv(0)
                    End If
                    i = i - 1
                Case Else
                    k = InStr(sv(i), "-")
                    If k > 0 Then
                        Select Case Mid$(sv(i), k + 1)
                            Case "оглы", "кызы", "заде", "угли", "уулы", "оол" 'Вариант насаба «-оглы» и «-заде»  типа Махмуд-оглы
                                sО = UCase(Left$(sv(i), 1)) & "."
                                i = i - 1
                                If i = 0 Then
                                   sИ = sО
                                   sО = vbNullString
                                End If
                        End Select
                    ElseIf i > 2 Then
                        Select Case sv(i - 1)
                            Case "ибн", "бен", "бин"
                                sО = UCase(Left$(sv(i), 1)) & "." ' Усерталь Алишер бен Сулейман
                                i = i - 2
                        End Select
                    Else ' Бен Эдуард
                        sИ = UCase(Left$(sv(i), 1))
                        If Len(sv(i)) > 1 Then sИ = sИ & "."
                        i = i - 1
                    End If
            End Select
    End Select
         
    Select Case sv(0)
        Case "де", "дел", "дос", "cент", "ван", "фон", "цу"
            If i >= 2 Then
                sФ = sv(0) & " " & StrConv(sv(1), vbProperCase)
                sИ = СropWord(sv(2))
            Else   'Де Николай
                If Len(sИ) > 0 Then
                    sФ = sv(0) & " " & StrConv(sv(1), vbProperCase)
                Else
                    sФ = StrConv(sv(0), vbProperCase)
                    sИ = СropWord(sv(1))
                End If
            End If
       Case Else
            If Len(sФ) = 0 Then 'Ещё не определили фамилию
                sФ = StrConv(sv(0), vbProperCase)
                If Len(sИ) = 0 Then
                   sИ = СropWord(sv(1))
                End If
            End If
    End Select
    If Слева Then
        Инициалы = sИ & sО & " " & sФ
    Else
        Инициалы = sФ & " " & sИ & sО
    End If
 
End Function
Public Function СropWord(s As Variant) As String
    Dim ss As String
    If Len(s) = 1 Then
        СropWord = s
    Else
        ss = UCase(Left$(s, 1)) & "."
        k = InStr(s, "-")
        If k > 0 Then
            ss = ss & "-" & Mid$(s, k + 1, 1) & "."
        End If
        СropWord = ss
    End If
End Function
Function CropFIO(ByVal FIO As String) As String
    ' получает в качестве параметра текстовую строку с виде "Фамилия имя отчество"
    ' обрезает имя и отчество, оставляя лишь инициалы - в виде "Фамилия И. О."
    Application.Volatile True
    CropFIO = Application.Trim(FIO): arr = Split(Replace(CropFIO, "-", " - "), " ")
 
    For i = UBound(arr) - 1 To UBound(arr)
        If Len(arr(i)) > 1 Then arr(i) = UCase(Left(arr(i), 1)) & "."
    Next i
    CropFIO = Replace(Replace(Join(arr, " "), " - ", "-"), ". ", ".")
End Function
Visual Basic
1
2
3
4
Sub tttest()
MsgBox Инициалы("Курамбек сулейман ибн хатаб")
MsgBox CropFIO("Курамбек сулейман ибн хатаб")
End Sub


Вернуться к обсуждению:
Запросить у пользователя Фамилию Имя Отчество через пробел в одну строку и выдать в сокращенном виде Фамилию И. О. VBA
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2011, 01:13
Готовые ответы и решения:

Запросить у пользователя Фамилию Имя Отчество и выдать в сокращенном виде Фамилию И.О.
Visual basic Запросить у пользователя Фамилию Имя Отчество через пробел в одну строку(в Textbox) и...

Запросить фамилию, имя и отчество пользователя, и вывести его фамилию и инициалы
Вот задание:Написать программу, которая запрашивает фамилию, имя и отчество, а выводит фамилию и...

Дана строка: Ваши фамилия, имя и отчество записаны через один пробел. Записать одну фамилию в виде И...в.
Помогите пожалуйста. Дана строка: Ваши фамилия, имя и отчество записаны через один пробел....

Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы
Пример: Введите фамилию, имя и отчество: Иванов Петр Семёнович П.С. Иванов

21
03.12.2011, 01:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2011, 01:13
Помогаю со студенческими работами здесь

Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы
Пример: Введите фамилию, имя и отчество: Иванов Петр Семёнович П.С. Иванов Нашёл такую же...

Строка S содержит фамилию, имя, отчество. Необходимо преобразовать ее в строку, содержащую фамилию и инициалы
Строка S содержит фамилию, имя, отчество. Необходимо преобразовать ее в строку, содержащую фамилию...

Строка S содержит фамилию, имя, отчество. Необходимо преобразовать ее в строку, содержащую фамилию и инициалы
Строка S содержит фамилию, имя, отчество. Необходимо преобразовать ее в строку, содержащую фамилию...

Дана строка, содержащая фамилию, имя и отчество. Вывести на экран строку, содержащую фамилию и инициалы
Дана строка, содержащая фамилию, имя и отчество. Вывести на экран строку, содержащую фамилию и...

Ввести имя, отчество и фамилию через пробел. Преобразовать их к формату «фамилия-инициалы»
На языке С++

Сформировать из трех строк (фамилия, имя, отчество) одну строку, содержащую фамилию и инициалы
Здравствуйте! Ребят, помогите пожалуйста. Дано три строки, содержащие фамилию,имя, отчество....

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru