Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Сгенерировать случайное имя-отчество из данных соседнего листа
 
так получилось
Код
Sub ГенераторИО()
Application.ScreenUpdating = False
Dim Name As String, Fam As String
Dim NameRow As Long, FamRow As Long

'отсюда код https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=94211&MID=s
NameRow = Sheets("Данные").Cells(CInt(2 + 53 * Rnd), 2).Row
FamRow = Sheets("Данные").Cells(CInt(2 + 53 * Rnd), 3).Row

If NameRow = FamRow Then
MsgBox "Совпадение строк ! Не нужен Петр Петрович Алексей Алексеевич !"
Exit Sub
End If

Name = Sheets("Данные").Cells(NameRow, 2).Value
Fam = Sheets("Данные").Cells(FamRow, 3).Value
  
Range("C3").Value = Name & " " & Fam
 
Application.ScreenUpdating = True
End Sub
Сгенерировать случайное имя-отчество из данных соседнего листа
 
Цитата
написал:
использование макроса носит какой-то сакральный смысл - тут не поспоришь...
Да никакого сакрального смысла - просто итоговая ячейка с результатами будет в TextBox на форме - а здесь упрощенный пример
Поэтому и уточнял что макросом надо
Сгенерировать случайное имя-отчество из данных соседнего листа
 
Я конечно ничего не понял как вы по F9 сделали - спасибо конечно - но нужно было макросом
Посмотрел примеры в интернете по случайной выборке из массива - получилась такая конструкция
Но как здесь поставить условие - не нужно генерировать Имя-Отчество из одинаковых имен и отчеств (когда имя-отчество в соседних ячейках рядом на листе "Данные")
Код
Sub ГенераторИО()
Dim Name As Variant, Fam As Variant
Dim Name1 As String, Fam1 As String
Randomize
Name = Application.Transpose(Sheets("Данные").Range("B2:B56"))
Fam = Application.Transpose(Sheets("Данные").Range("C2:C56"))
Name1 = Name(Int(Rnd() * 55))
Fam1 = Fam(Int(Rnd() * 55))
On Error Resume Next
Range("C3").Value = Name1 & " " & Fam1
'MsgBox "Генерация ИО прошла успешно !"
End Sub
Изменено: Игорь А - 30.11.2022 20:59:46
Сгенерировать случайное имя-отчество из данных соседнего листа
 
Добрый вечер всем !

Как макросом сгенерировать случайное Имя Отчество в ячейку "E3" листа "ИО"
Имя берется из листа "Данные" из столбца "B2:B"
Фамилия берется из листа "Данные" из столбца "С2:С"
При этом не нужно генерировать Имя-Отчество из одинаковых имен и отчеств
Например: не нужно Александр Александрович, Андрей Андреевич и тд
(когда имя-отчество в соседних ячейках рядом на листе "Данные")

Пример файла во вложении
Разделить дробное число на части
 
БМВ спасибо за подсказку !
Разделить дробное число на части
 
Добрый вечер всем !

Есть в ячейке число дробное с двумя знаками после запятой - например 50,93  192,25   10001,87
Как из этих чисел взять целую и дробную часть макросом - и записать в переменные
Например:
Число 50,93
Переменная t1=50 - целая часть   Переменная t2=0,93 - дробная часть

Число 192,25
Переменная t1=192 - целая часть   Переменная t2=0,25 - дробная часть

Число 10001,87
Переменная t1=10001 - целая часть   Переменная t2=0,87 - дробная часть
Отобразить в ListBox время
 
Помогло ! Спасибо New!
Отобразить в ListBox время
 
Добрый вечер !

На 1 листе кнопка вызова формы - в форму должно попасть время из столбца С со второго листа
Но дело в том что время отображается некорректно в ListBox - многозначным числом

Как поправить этот макрос в форме чтоб время показывал ?
Код
Private Sub UserForm_Initialize()

Dim iLastRow As Long, k As Long
Dim myArray()

    With Worksheets("Данные")
        iLastRow = .Cells(.Rows.Count, 3).End(xlUp).Row 'последняя строка в столбец С
        myArray() = .Range("C2:C" & iLastRow).Value
    End With

    For k = LBound(myArray) To UBound(myArray)
        If myArray(k, 1) <> "" Then ListBox1.AddItem myArray(k, 1)
    Next k

End Sub
Изменено: Игорь А - 25.09.2022 18:41:15
Страницы: 1
Наверх