不好意思 我的程式這樣寫 哪裡錯誤
目前我卡在if的條件他都會判斷成true
因為還在自己測試功能 還沒完成
Private Sub CB2_Click()
For i = lastrow To 2 Step -1
a = TB1.Text 'textbox
b = Cells(i, "A")
If a <> b Then
nextrow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(nextrow, "A") = TB1.Text
Cells(nextrow, "B") = L1.Caption
Range("A" & i).Activate
un = msgbox("歡迎新勇者" + TB1.Text + "到來,系統再贈送您4次")
ActiveCell.Offset(0, 1).Value = L1.Caption + 4
Exit For
Else
L1.Caption = L1.Caption - 1
Range("A" & i).Activate
un = msgbox("歡迎勇者" + TB1.Text + "再次挑戰,您還能挑戰" + L1.Caption + "次")
End Sub
附圖
你這樣不大對吧,
不是應該先全部檢查過,
再作判斷嗎?
我不太懂您的意思 且我已經確定寫完了
只是那個a<>b會變成true 是為何
且我以下的寫法就可以
Private Sub TB1_Change()
Sheets("玩家資料").Activate
lastrow = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Rows(1).Row - 1
For i = lastrow To 2 Step -1
If Cells(i, "A") = TB1.Text Then
Range("A" & i).Activate
L1.Caption = Cells(i, "b")
End If
Next
End Sub
沒有寫過VBA,不過 a<>b (a不等於b) 這種條件很容易就會是true了吧~XDDD
猜測 a<>b 容易成立
是因為a跟b的型態問題XD
a = 1
b = "1"
一樣是a<>b唷
我比較想問的是為何要用EXCEL VBA寫這個... 把會計室的姊姊嗎?
從今天就開始學VBA!!((誤
如果還沒解決的話,
可以Mail給我幫你看一下,
henrychang0202@gmail.com
(閒人勿擾, 反正我每天都會刪個幾封廣告)
我已經自己測試並且解決了
Sheets("玩家資料").Activate
If L1.Caption = 0 Then
un = msgbox("您沒投幣,請投幣再按開始遊戲")
Exit Sub
End If
lastrow = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Rows(1).Row + 1
For i = lastrow To 2 Step -1
If Cells(i, "A") = TB1.Text Then
Range("A" & i).Activate
Exit For
End If
Next
a = TB1.Value
b = ActiveCell.Text
If b <> a Then
nextrow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(nextrow, "A") = TB1.Text
Cells(nextrow, "B") = L1.Caption
Range("A" & i).Activate
un = msgbox("歡迎新勇者" + TB1.Text + "到來,系統再贈送您4次")
ActiveCell.Offset(0, 1).Value = L1.Caption + 4
Else
L1.Caption = L1.Caption - 1
Range("A" & i).Activate
un = msgbox("歡迎勇者" + TB1.Text + "再次挑戰,您還能挑戰" + L1.Caption + "次")
Cells(i, "B") = L1.Caption
End If
Sheets("random").Activate
randomA = (Rnd * 20 + 1) Mod 2
Cells(2, "A") = randomA
If Cells(2, "A") = 0 Then
un = msgbox("您是奴隸牌獲勝一次系統贈送四次")
Unload Me
UF1.Show
Else
un = msgbox("您是國王牌獲勝一次系統贈送兩次")
Unload Me
UF2.Show
End If
這樣就可以抓到