vb 子程序或函数未定义

animeng 2008-04-20 12:09:29
Sub Sheduling_Data()
Type PCB
Name As String * 40
Time As Integer
Priority As Integer
State As String * 40
End Type
Dim a(1 To 20) As PCB
Dim b(1 To 6) As PCB
Dim count As Integer
count = 1
End Sub
Private Sub Command1_Click()
Dim strS1 As String * 40, strS2 As String * 40, strS3 As String * 40
strS1 = "please put into process ID" + Chr(13) + Chr(10) + "(P1,P2... )"
a(1).Name = InputBox$(strS1, "输入框", 100, 100)
strS2 = "please put into burst time(max 100)"
a(count).Time = InputBox$(strS2, "输入框", 100, 100)
strS3 = "please put into priority(1 to 6)"
a(count).Priority = InputBox$(strS3, "输入框", 100, 100)
a(count).State = "new"
count = count + 1
End
一直报错:子程序或函数未定义。郁闷死我了,那位高手来帮帮我啊。谢谢了。
...全文
593 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
animeng 2008-04-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Chen8013 的回复:]
引用 3 楼 mengtnt 的回复:
一楼的还是要谢谢你。不过你的方法不行啊,上面报错在私有模块中不能定义public型。问题还是没有解决啊?

那你把这一段:
Type PCB
Name As String * 40
Time As Integer
Priority As Integer
State As String * 40
End Type

Public a(1 To 20) As PCB
Public b(1 To 6) As PCB
Public count As Integer
剪切到一个 .bas 模块中不就行了吗?

[/Quote]
ChamPagneZ 2008-04-20
  • 打赏
  • 举报
回复
放错了模块
这种东西不能放在窗体模块中!!
舉杯邀明月 2008-04-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mengtnt 的回复:]
一楼的还是要谢谢你。不过你的方法不行啊,上面报错在私有模块中不能定义public型。问题还是没有解决啊?
[/Quote]
那你把这一段:
Type PCB
Name As String * 40
Time As Integer
Priority As Integer
State As String * 40
End Type

Public a(1 To 20) As PCB
Public b(1 To 6) As PCB
Public count As Integer
剪切到一个 .bas 模块中不就行了吗?

要不就改成:

Private Type PCB
Name As String * 40
Time As Integer
Priority As Integer
State As String * 40
End Type

Private a(1 To 20) As PCB
Private b(1 To 6) As PCB
Private count As Integer
animeng 2008-04-20
  • 打赏
  • 举报
回复
一楼的还是要谢谢你。不过你的方法不行啊,上面报错在私有模块中不能定义public型。问题还是没有解决啊?
ChamPagneZ 2008-04-20
  • 打赏
  • 举报
回复
应该先看看书
这是很基础的东西啊
行步 2008-04-20
  • 打赏
  • 举报
回复
你没有提供form,我只是在mudule里面做的,这个稍微改动一下就行了
行步 2008-04-20
  • 打赏
  • 举报
回复
Type PCB
Name As String * 40
Time As Integer
Priority As Integer
State As String * 40
End Type

Public a(1 To 20) As PCB
Public b(1 To 6) As PCB
Public count As Integer

Sub Sheduling_Data()

count = 1

End Sub
Private Sub Command1_Click()

Dim strS1 As String * 40, strS2 As String * 40, strS3 As String * 40

strS1 = "please put into process ID" + Chr(13) + Chr(10) + "(P1,P2... )"
a(1).Name = InputBox$(strS1, "输入框", 100, 100)
strS2 = "please put into burst time(max 100)"
a(count).Time = InputBox$(strS2, "输入框", 100, 100)
strS3 = "please put into priority(1 to 6)"
a(count).Priority = InputBox$(strS3, "输入框", 100, 100)
a(count).State = "new"
count = count + 1

End Sub

试试这个,是否符合你的要求

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧