1.
if int(А/Б)=A/B Then
.....код
Else
Msgbox "Ошибка!"
End if
2.Проще всего вместо текстового поля использовать выпадающий список с добавленнями заранее значениями. В процедуре Private Sub UserForm_Initialize():
Dim i As Integer
ComboBox1.Style = fmStyleDropDownList
For i = 50 To 250 Step 10
ComboBox1.AddItem i
Next i
ComboBox1.Value = 50
-и пользователь при всем желании ничего другого не введет. Свойство Style можно заранее выставить в окне свойств (вместо ComboBox1.Style = fmStyleDropDownList в коде)
Если же все таки нужен textbox, то проверять результат функцией Mod:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
if TextBox1.Value Mod 10 <> 0 then
Msgbox "Неверный ввод!"
....
End if
End Sub
3.
Sub Example_Line()
Dim lineObj As AcadLine
Dim startPoint
Dim offsetObj As Variant
Dim endPoint
Dim strPrmt As String
Dim i As Integer, N As Integer, dist As Double
N = 5: dist = 20
strPrmt = vbCr & "Укажите первую точку"
startPoint = ThisDrawing.Utility.GetPoint(Prompt:=strPrmt)
ThisDrawing.Utility.InitializeUserInput 32
endPoint = ThisDrawing.Utility.GetPoint(startPoint, "Укажите 2-ю точку")
Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
For i = 1 To N
offsetObj = lineObj.Offset(dist * i)
Next i
End Sub
4. Если б я был модератор (который раньше здесь иногда появлялся), сказал бы: "Один вопрос - одна тема!" :)