VB編程改錯

VB編程改錯

Opt

簡單vb程序改錯

我來說說吧,你這個程序太亂了,是用VBE,還是VBA編的吧,但是代碼卻是亂用了VB的。滾動條的名稱都對應(yīng)不起來。

還有VBA里不是用userform_load來初始化的,是用userform_Initialize.代碼改過來了。

Private Sub ComboBox1_Change()TextBox1.Font.Name = ComboBox1.Text \’ 把組合框的字體名賦給textboxEnd SubPrivate Sub ScrollBar1_Change()TextBox1.Font.Size = ScrollBar1.Value \’ 把滾動條的字體大小賦給textboxLabel4.Caption = Str$(ScrollBar1.Value) \’ 把滾動條的字體大小賦給label4End SubPrivate Sub UserForm_Initialize()ComboBox1.AddItem \”宋體\”ComboBox1.AddItem \”黑體\”ComboBox1.AddItem \”隸書\”ComboBox1.AddItem \”幼圓\”ScrollBar1.Min = 8: ScrollBar1.Max = 72End Sub 你**運行一下,程序里的控件名要和你窗體上控件名完全一致。 我運行了一下,貌似沒問題。

vb程序代碼改錯

代碼不長,但是錯誤有好幾個,有的隱藏的很深,也是很容易犯的錯誤,我把我發(fā)現(xiàn)的幾個給你指出來 吧(不保證完全找出來了,要下班沒時間了),具體改你自己寫下百科

num(1) = Int(Rnd * 90) + 10語句之前應(yīng)該加上randomize()

For i = 1 To k If ***(num(i), n) <> 1 Then flag = False Next i
這個循環(huán)要執(zhí)行完以后才會執(zhí)行下面的if flag then,但是你之前只給了num(1),num(2)到
num(k)沒有給值

你的k不是全局變量,最開始只給了k=1,因此For i = 1 To k If ***(num(i), n) <> 1 Then flag = False Next i
實際只執(zhí)行一次,下面對k的改變沒有對上面起作用

do loop中k**到9,但是如果 執(zhí)行完了flag還是true,則k=k+1之后k變?yōu)?0,num(k)會越界,因為定義的時候數(shù)組長度為10,**只有num(9)

急!一段簡單VB程序的改錯

Opt

VB程序改錯

Pri

(VB程序改錯)用VB程序判斷數(shù)字正負(fù)還是零,程序有三處錯誤

**點:第二行代碼錯誤,文本框沒有Caption屬性,應(yīng)改為:a=val(text1.text);第二點:第五行代碼格式錯誤,elseif應(yīng)該連寫,else與if之間不能存在空格;第三點:**一行語義出錯,當(dāng)前代碼顯示結(jié)果為label1顯示py兩個字母,編程希望顯示的是“正數(shù)”“負(fù)數(shù)”“零”,所以代碼應(yīng)改為label1.caption=py\’希望輸出變量則不應(yīng)添加雙引號“”。完整代碼為:DimaAsInteger,pyAsStringa=val(Text1.Text)Ifa>0Thenpy=\”正數(shù)\”ElseIfa<0Thenpy=\”負(fù)數(shù)\”Elsepy=“零”EndifLabel1.Caption=py望采納,謝謝。