Sub DecHex()
Const R1 As String = "A1" ' Адрес ячейки с первым элементом массива чисел
'Const R1 As String = "C3" ' Адрес ячейки с первым элементом массива чисел
Const upperbound As Long = 2147483647# ' Пределы изменения элементов массива
Const lowerbound As Long = -2147483648#
Dim N, ierr, CN, i
Dim R1N As String, R2 As String, R2N As String
Dim Dhex As String
N = InputBox("Введите целое N>0")
ierr = False
If IsNumeric(N) Then
CN = CDbl(N)
ierr = CDbl(CN) > 0 And Int(CN) = CN
End If
If Not ierr Then
MsgBox "Введено неверное число" + vbCrLf + N
Exit Sub
End If
ReDim MLong(1 To N, 1 To 1) As Long
ReDim MDhex(1 To N, 1 To 1) As String
Randomize
For i = 1 To N
MLong(i, 1) = (CDbl(upperbound) - CDbl(lowerbound) + 1) * (CDbl(Rnd) + Rnd * 0.00001) + lowerbound
If MLong(i, 1) >= 0 Then
If MLong(i, 1) > 0 Then MDhex(i, 1) = "0" + Hex(MLong(i, 1)) Else MDhex(i, 1) = "0"
Else
Dhex = Hex(-MLong(i, 1))
MDhex(i, 1) = "F"
For j = 1 To Len(Dhex)
Select Case Mid(Dhex, j, 1)
Case "0"
MDhex(i, 1) = MDhex(i, 1) + "F"
Case "1"
MDhex(i, 1) = MDhex(i, 1) + "E"
Case "2"
MDhex(i, 1) = MDhex(i, 1) + "D"
Case "3"
MDhex(i, 1) = MDhex(i, 1) + "C"
Case "4"
MDhex(i, 1) = MDhex(i, 1) + "B"
Case "5"
MDhex(i, 1) = MDhex(i, 1) + "A"
Case "6"
MDhex(i, 1) = MDhex(i, 1) + "9"
Case "7"
MDhex(i, 1) = MDhex(i, 1) + "8"
Case "8"
MDhex(i, 1) = MDhex(i, 1) + "7"
Case "9"
MDhex(i, 1) = MDhex(i, 1) + "6"
Case "A"
MDhex(i, 1) = MDhex(i, 1) + "5"
Case "B"
MDhex(i, 1) = MDhex(i, 1) + "4"
Case "C"
MDhex(i, 1) = MDhex(i, 1) + "3"
Case "D"
MDhex(i, 1) = MDhex(i, 1) + "2"
Case "E"
MDhex(i, 1) = MDhex(i, 1) + "1"
Case "F"
MDhex(i, 1) = MDhex(i, 1) + "0"
End Select
Next
End If
Next
Rows("1:100000").ClearContents
R1N = Range(R1).Offset(N - 1, 0).Address
R2 = Range(R1).Offset(0, 1).Address
R2N = Range(R1).Offset(N - 1, 1).Address
Range(R1 + ":" + R1N) = MLong
Range(R2 + ":" + R2N) = MDhex
End Sub
For j = 1 To Len(Dhex)
MDhex(i, 1) = MDhex(i, 1) + Hex(15 - CLng("&H" + Mid(Dhex, j, 1)))
Next
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.