[belajar-excel] VBA (error pada perbandingan nilai)

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[belajar-excel] VBA (error pada perbandingan nilai)

lapendosol opik
Dear Be-Excel,
Saya memiliki script dimana fungsinya untuk membandingkan nilai/angka pada jumlah pembelian dengan stok barang, tapi punya kendala. Misal stok barang ada 30, ketika txtJumlahBeli diisi angka 4 malah msgboxnya, sedangkan kalo di isi angka 123 tidak muncul msgboxnya. Kayanya lblStok.Caption nya hanya terbaca angka depannya saja. Jika stoknya berubah jadi 71 tetep sama, txtJumlahBeli diisi angka 8 keluar msgbox, diisi angka 2344 malah tidak muncul.
1. Mohon bantuannya untuk memperbaiki script saya yg salah ini
2. (pertanyaan bonus) Gimana caranya agar txtJumlahBeli.Text hanya bisa diisi dengan Numeric saja
Lebih jelasnya lihat file terlampir.


Private Sub txtJumlahBeli_Change()
If lblHarga.Caption = 0 Then
MsgBox "Tentukan barang terlebih dahulu"
txtKodeBarang.SetFocus
txtJumlahBeli.Text = vbNullString
ElseIf txtJumlahBeli.Text > lblStok.Caption Then
MsgBox "Jumlah pembelian melebihi stok barang"
txtJumlahBeli.Text = ""
txtJumlahBeli.SetFocus
ElseIf txtJumlahBeli.Text = "" Then
lblTotalHarga.Caption = ""
Else
lblTotalHarga = lblHarga.Caption * txtJumlahBeli.Text
End If
End Sub

Sebelum dan sesudahnya saya ucapkan banyak terimakasih
Wassalam,

Peci M Iming.xlsm (48K) Download Attachment
Kid
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] VBA (error pada perbandingan nilai)

Kid
Administrator
Manusia membandingkan angka yang satu dengan angka yang lainnya bisa dengan
mudah karena secara tidak sadar otak manusia mengkonversi setiap tulisan
angka menjadi suatu data bertipe numerik.
Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu dengan
memberi nilai bertipe numerik untuk dibandingkan atau perintah konversi
tipe data ke numerik agar si VBA tahu apa yang harus dikerjakannya.

Ubah bagian :
     ElseIf txtJumlahBeli.Text > lblStok.Caption Then
menjadi :
     ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then

Wassalam,
Kid.



2013/6/28 lapendosol opik <[hidden email]>

> ElseIf txtJumlahBeli.Text > lblStok.Caption Then
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] VBA (error pada perbandingan nilai)

lapendosol opik
Trimakasih Mas Kid
Scriptnya berjalan sesuai keinginan.
Pertanyaan yg kedua supaya textboxnya hanya bisa terisi dengan angka saja harus disisipkan script gimana?
Saya pake script VB tapi ga berhasil :'(

Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
Dim ch As String
ch = Chr$(KeyAscii)
Select Case ch
Case "0"
cmdAngka_Click 0
Case "1"
cmdAngka_Click 1
Case "2"
cmdAngka_Click 2
Case "3"
cmdAngka_Click 3
Case "4"
cmdAngka_Click 4
Case "5"
cmdAngka_Click 5
Case "6"
cmdAngka_Click 6
Case "7"
cmdAngka_Click 7
Case "8"
cmdAngka_Click 8
Case "9"
cmdAngka_Click 9
End Select
KeyAscii = 0
End Sub




________________________________
 From: Mr. Kid <[hidden email]>
To: BeExcel <[hidden email]>
Sent: Friday, June 28, 2013 2:33 AM
Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)
 


 
Manusia membandingkan angka yang satu dengan angka yang lainnya bisa dengan mudah karena secara tidak sadar otak manusia mengkonversi setiap tulisan angka menjadi suatu data bertipe numerik.

Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu dengan memberi nilai bertipe numerik untuk dibandingkan atau perintah konversi tipe data ke numerik agar si VBA tahu apa yang harus dikerjakannya.


Ubah bagian :

     ElseIf txtJumlahBeli.Text > lblStok.Caption Then

menjadi :

     ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then


Wassalam,

Kid.





2013/6/28 lapendosol opik <[hidden email]>

ElseIf txtJumlahBeli.Text > lblStok.Caption Then


 
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] VBA (error pada perbandingan nilai)

Miss Jan Raisin
coba script berikut, [belum dites karena kompie Jan lagi trouble]

private sub txtdisplay_change
    with txtdisplay
        if not isnumeric(.value) and .value <> vbnullstring then
            msgbox "Hanya boleh diiisi dengan angka" , vbokonly, "Gak bisa
wew.."
            .value = vbnullstring
        end if
    end with
end sub


-Miss Jan Raisin-


   - Untuk kepentingan belajar bersama, pertanyaan harap ditujukan *hanya*ke
   [hidden email] bukan dikirim japri ke email pribadi
   member milis;
   - Jika pertanyaan lama direspon, bersabarlah karena ALLAH beserta dengan
   orang-orang yang sabar QS 2:153;
   - Harap dipahami bersama bahwa solusi diberikan oleh Be-Exceller yang
   memiliki waktu untuk on line, mengetahui solusi atas pertanyaan yang
   ditanyakan, mau dan berani untuk membantu, tanpa mengharap imbalan dari
   Thread Starter (TS) atau Post Starter (PS), selain itu Be-Excelller juga
   memiliki kewajiban yang harus dipenuhi di dunia nyata jadi tidak selalu
   bisa on line setiap saat;
   - Semoga semangat berbagi dan membantu semakin meningkat di kalangan
   Be-Exceller dan menjadi amalan yang baik untuk tabungan di akhirat nanti.
    اَمِين يَا رَبَّ الْعَالَمِيْن



Pada 28 Juni 2013 11.45, lapendosol opik <[hidden email]> menulis:

> **
>
>
> Trimakasih Mas Kid
> Scriptnya berjalan sesuai keinginan.
> Pertanyaan yg kedua supaya textboxnya hanya bisa terisi dengan angka saja
> harus disisipkan script gimana?
> Saya pake script VB tapi ga berhasil :'(
>
> Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
> Dim ch As String
> ch = Chr$(KeyAscii)
> Select Case ch
> Case "0"
> cmdAngka_Click 0
> Case "1"
> cmdAngka_Click 1
> Case "2"
> cmdAngka_Click 2
> Case "3"
> cmdAngka_Click 3
> Case "4"
> cmdAngka_Click 4
> Case "5"
> cmdAngka_Click 5
> Case "6"
> cmdAngka_Click 6
> Case "7"
> cmdAngka_Click 7
> Case "8"
> cmdAngka_Click 8
> Case "9"
> cmdAngka_Click 9
> End Select
> KeyAscii = 0
> End Sub
>
>
>   ------------------------------
>  *From:* Mr. Kid <[hidden email]>
> *To:* BeExcel <[hidden email]>
> *Sent:* Friday, June 28, 2013 2:33 AM
> *Subject:* Re: [belajar-excel] VBA (error pada perbandingan nilai)
>
>
> Manusia membandingkan angka yang satu dengan angka yang lainnya bisa
> dengan mudah karena secara tidak sadar otak manusia mengkonversi setiap
> tulisan angka menjadi suatu data bertipe numerik.
> Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu dengan
> memberi nilai bertipe numerik untuk dibandingkan atau perintah konversi
> tipe data ke numerik agar si VBA tahu apa yang harus dikerjakannya.
>
> Ubah bagian :
>      ElseIf txtJumlahBeli.Text > lblStok.Caption Then
> menjadi :
>      ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then
>
> Wassalam,
> Kid.
>
>
>
> 2013/6/28 lapendosol opik <[hidden email]>
>
> ElseIf txtJumlahBeli.Text > lblStok.Caption Then
>
>
>
>
>
>  
>
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] VBA (error pada perbandingan nilai)

lapendosol opik
Trimakasih Mis Jan
Sempurna hehehehe
Wassalam,




________________________________
 From: Jan Raisin <[hidden email]>
To: [hidden email]
Sent: Friday, June 28, 2013 1:41 PM
Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)
 


 
coba script berikut, [belum dites karena kompie Jan lagi trouble]

private sub txtdisplay_change
    with txtdisplay
        if not isnumeric(.value) and .value <> vbnullstring then
            msgbox "Hanya boleh diiisi dengan angka" , vbokonly, "Gak bisa wew.."
            .value = vbnullstring
        end if
    end with
end sub



-Miss Jan Raisin-

        * Untuk kepentingan belajar bersama, pertanyaan harap ditujukan hanyake [hidden email] bukan dikirim japri ke email pribadi member milis;

        * Jika pertanyaan lama direspon, bersabarlah karena ALLAH beserta dengan orang-orang yang sabar QS 2:153;

        * Harap dipahami bersama bahwa solusi diberikan oleh Be-Exceller yang memiliki waktu untuk on line, mengetahui solusi atas pertanyaan yang ditanyakan, mau dan berani untuk membantu, tanpa mengharap imbalan dari Thread Starter (TS) atau Post Starter (PS), selain itu Be-Excelller juga memiliki kewajiban yang harus dipenuhi di dunia nyata jadi tidak selalu bisa on line setiap saat;

        * Semoga semangat berbagi dan membantu semakin meningkat di kalangan Be-Exceller dan menjadi amalan yang baik untuk tabungan di akhirat nanti.  اَمِين يَا رَبَّ الْعَالَمِيْن



Pada 28 Juni 2013 11.45, lapendosol opik <[hidden email]> menulis:

 


>Trimakasih Mas Kid
>Scriptnya berjalan sesuai keinginan.
>Pertanyaan yg kedua supaya textboxnya hanya bisa terisi dengan angka saja harus disisipkan script gimana?
>Saya pake script VB tapi ga berhasil :'(
>
>Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
>Dim ch As String
>ch = Chr$(KeyAscii)
>Select Case ch
>Case "0"
>cmdAngka_Click 0
>Case "1"
>cmdAngka_Click 1
>Case "2"
>cmdAngka_Click 2
>Case "3"
>cmdAngka_Click 3
>Case "4"
>cmdAngka_Click 4
>Case "5"
>cmdAngka_Click 5
>Case "6"
>cmdAngka_Click 6
>Case "7"
>cmdAngka_Click 7
>Case "8"
>cmdAngka_Click 8
>Case "9"
>cmdAngka_Click 9
>End Select
>KeyAscii = 0
>End Sub
>
>
>
>
>
>
>________________________________
> From: Mr. Kid <[hidden email]>
>To: BeExcel <[hidden email]>
>Sent: Friday, June 28, 2013 2:33 AM
>Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)
>
>
>

>Manusia membandingkan angka yang satu dengan angka yang lainnya bisa dengan mudah karena secara tidak sadar otak manusia mengkonversi setiap tulisan angka menjadi suatu data bertipe numerik.
>
>Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu dengan memberi nilai bertipe numerik untuk dibandingkan atau perintah konversi tipe data ke numerik agar si VBA tahu apa yang harus dikerjakannya.
>
>
>Ubah bagian :
>
>     ElseIf txtJumlahBeli.Text > lblStok.Caption Then
>
>menjadi :
>
>     ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then
>
>
>Wassalam,
>
>Kid.
>
>
>
>
>
>2013/6/28 lapendosol opik <[hidden email]>
>
>ElseIf txtJumlahBeli.Text > lblStok.Caption Then
>
>
>
>

 
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] VBA (error pada perbandingan nilai)

De Premor
In reply to this post by lapendosol opik
Coba script berikut mas, buat mengalter karakter selain angka

Private Sub txtDisplay_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
     If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

Atau bisa juga pada event keydown, sbb:

Private Sub txtDisplay_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
     If KeyCode > 57 And KeyCode < 96 Or KeyCode > 105 Then KeyCode = 0
End Sub

Rgds,
[dp]

On 28/06/2013 11:45, lapendosol opik wrote:

> Trimakasih Mas Kid
> Scriptnya berjalan sesuai keinginan.
> Pertanyaan yg kedua supaya textboxnya hanya bisa terisi dengan angka
> saja harus disisipkan script gimana?
> Saya pake script VB tapi ga berhasil :'(
>
> Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
> Dim ch As String
> ch = Chr$(KeyAscii)
> Select Case ch
> Case "0"
> cmdAngka_Click 0
> Case "1"
> cmdAngka_Click 1
> Case "2"
> cmdAngka_Click 2
> Case "3"
> cmdAngka_Click 3
> Case "4"
> cmdAngka_Click 4
> Case "5"
> cmdAngka_Click 5
> Case "6"
> cmdAngka_Click 6
> Case "7"
> cmdAngka_Click 7
> Case "8"
> cmdAngka_Click 8
> Case "9"
> cmdAngka_Click 9
> End Select
> KeyAscii = 0
> End Sub
>
>
> ------------------------------------------------------------------------
> *From:* Mr. Kid <[hidden email]>
> *To:* BeExcel <[hidden email]>
> *Sent:* Friday, June 28, 2013 2:33 AM
> *Subject:* Re: [belajar-excel] VBA (error pada perbandingan nilai)
>
> Manusia membandingkan angka yang satu dengan angka yang lainnya bisa
> dengan mudah karena secara tidak sadar otak manusia mengkonversi
> setiap tulisan angka menjadi suatu data bertipe numerik.
> Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu
> dengan memberi nilai bertipe numerik untuk dibandingkan atau perintah
> konversi tipe data ke numerik agar si VBA tahu apa yang harus
> dikerjakannya.
>
> Ubah bagian :
> ElseIf txtJumlahBeli.Text > lblStok.Caption Then
> menjadi :
>      ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then
>
> Wassalam,
> Kid.
>
>
>
> 2013/6/28 lapendosol opik <[hidden email]
> <mailto:[hidden email]>>
>
>     ElseIf txtJumlahBeli.Text > lblStok.Caption Then
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] VBA (error pada perbandingan nilai)

lapendosol opik
Terimakasih banyak mas DP
Kedua pilihan yg disarankan berjalan semua,
Jadi banyak pilihan ini mengenai batasan input numeric
Sekali lagi terimakasih banyak
Wassalam,




________________________________
 From: De Premor <[hidden email]>
To: [hidden email]
Sent: Friday, June 28, 2013 2:59 PM
Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)
 


 
Coba script berikut mas, buat mengalter karakter selain angka

Private Sub txtDisplay_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

Atau bisa juga pada event keydown, sbb:

Private Sub txtDisplay_KeyDown(ByVal KeyCode As
        MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode > 57 And KeyCode < 96 Or KeyCode > 105
        Then KeyCode = 0
End Sub

Rgds,
[dp]


On 28/06/2013 11:45, lapendosol opik wrote:

 
>Trimakasih Mas Kid
>Scriptnya berjalan sesuai keinginan.
>Pertanyaan yg kedua supaya textboxnya hanya bisa terisi
              dengan angka saja harus disisipkan script gimana?

>Saya pake script VB tapi ga berhasil :'(
>
>Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
>Dim ch As String
>ch = Chr$(KeyAscii)
>Select Case ch
>Case "0"
>cmdAngka_Click 0
>Case "1"
>cmdAngka_Click 1
>Case "2"
>cmdAngka_Click 2
>Case "3"
>cmdAngka_Click 3
>Case "4"
>cmdAngka_Click 4
>Case "5"
>cmdAngka_Click 5
>Case "6"
>cmdAngka_Click 6
>Case "7"
>cmdAngka_Click 7
>Case "8"
>cmdAngka_Click 8
>Case "9"
>cmdAngka_Click 9
>End Select
>KeyAscii = 0
>End Sub
>
>
>
>
>
>
>________________________________
> From: Mr. Kid <[hidden email]>
>To: BeExcel <[hidden email]>
>Sent: Friday, June 28, 2013 2:33 AM
>Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)
>
>
>

>Manusia membandingkan angka yang satu dengan angka yang lainnya bisa dengan mudah karena secara tidak sadar otak manusia mengkonversi setiap tulisan angka menjadi suatu data bertipe numerik.
>
>Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu dengan memberi nilai bertipe numerik untuk dibandingkan atau perintah konversi tipe data ke numerik agar si VBA tahu apa yang harus dikerjakannya.
>
>
>Ubah bagian :
>
>     ElseIf txtJumlahBeli.Text > lblStok.Caption Then
>
>menjadi :
>
>     ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then
>
>
>Wassalam,
>
>Kid.
>
>
>
>
>
>2013/6/28 lapendosol opik <[hidden email]>
>
>ElseIf txtJumlahBeli.Text > lblStok.Caption Then
>
>
>
>

 
Reply | Threaded
Open this post in threaded view
|

RE: [belajar-excel] VBA (error pada perbandingan nilai)

Ahmad Adriansyah
In reply to this post by De Premor
Dear Ms Jan, Om Kid, [dp], & Master lainnya,
Menyambung pertanyaan dibawah ini, untuk menuliskan koding pada VBA agas nilai suatu text box hanya dapat diisi berupa numeric dan huruf capital saja (Key Ascii : 48 s.d. 57 dan key ascii 65 s.d. 90) membuat kodingnya bagaimana ya?

Rgds,

AA

From: [hidden email] [mailto:[hidden email]] On Behalf Of De Premor
Sent: 28 Juni 2013 15:00
To: [hidden email]
Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)



Coba script berikut mas, buat mengalter karakter selain angka

Private Sub txtDisplay_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

Atau bisa juga pada event keydown, sbb:

Private Sub txtDisplay_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode > 57 And KeyCode < 96 Or KeyCode > 105 Then KeyCode = 0
End Sub

Rgds,
[dp]
On 28/06/2013 11:45, lapendosol opik wrote:

Trimakasih Mas Kid
Scriptnya berjalan sesuai keinginan.
Pertanyaan yg kedua supaya textboxnya hanya bisa terisi dengan angka saja harus disisipkan script gimana?
Saya pake script VB tapi ga berhasil :'(

Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
Dim ch As String
ch = Chr$(KeyAscii)
Select Case ch
Case "0"
cmdAngka_Click 0
Case "1"
cmdAngka_Click 1
Case "2"
cmdAngka_Click 2
Case "3"
cmdAngka_Click 3
Case "4"
cmdAngka_Click 4
Case "5"
cmdAngka_Click 5
Case "6"
cmdAngka_Click 6
Case "7"
cmdAngka_Click 7
Case "8"
cmdAngka_Click 8
Case "9"
cmdAngka_Click 9
End Select
KeyAscii = 0
End Sub


________________________________
From: Mr. Kid <[hidden email]><mailto:[hidden email]>
To: BeExcel <[hidden email]><mailto:[hidden email]>
Sent: Friday, June 28, 2013 2:33 AM
Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)


Manusia membandingkan angka yang satu dengan angka yang lainnya bisa dengan mudah karena secara tidak sadar otak manusia mengkonversi setiap tulisan angka menjadi suatu data bertipe numerik.
Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu dengan memberi nilai bertipe numerik untuk dibandingkan atau perintah konversi tipe data ke numerik agar si VBA tahu apa yang harus dikerjakannya.

Ubah bagian :
     ElseIf txtJumlahBeli.Text > lblStok.Caption Then
menjadi :
     ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then

Wassalam,
Kid.

2013/6/28 lapendosol opik <[hidden email]<mailto:[hidden email]>>
ElseIf txtJumlahBeli.Text > lblStok.Caption Then




Kid
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] VBA (error pada perbandingan nilai)

Kid
Administrator
Coba pakai Select Case supaya punya variasi lain selain IF ELSEIF ELSE ENDIF

Select case keyascii
case 48 to 57 , 65 to 90
     'lakukan apa
case else
     keyascii=0
end select

Wassalam,
Kid.



2013/7/2 Ahmad Adriansyah <[hidden email]>

> **
>
>
>  Dear Ms Jan, Om Kid, [dp], & Master lainnya,****
>
> Menyambung pertanyaan dibawah ini, untuk menuliskan koding pada VBA agas
> nilai suatu text box hanya dapat diisi berupa numeric dan huruf capital
> saja (Key Ascii : 48 s.d. 57 dan key ascii 65 s.d. 90) membuat kodingnya
> bagaimana ya?****
>
> ** **
>
> Rgds,****
>
> ** **
>
> AA****
>
> ** **
>
> *From:* [hidden email] [mailto:
> [hidden email]] *On Behalf Of *De Premor
> *Sent:* 28 Juni 2013 15:00
> *To:* [hidden email]
>
> *Subject:* Re: [belajar-excel] VBA (error pada perbandingan nilai)****
>
>  ** **
>
>   ** **
>
> Coba script berikut mas, buat mengalter karakter selain angka
>
> Private Sub txtDisplay_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
>     If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
> End Sub
>
> Atau bisa juga pada event keydown, sbb:
>
> Private Sub txtDisplay_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
> ByVal Shift As Integer)
>     If KeyCode > 57 And KeyCode < 96 Or KeyCode > 105 Then KeyCode = 0
> End Sub
>
> Rgds,
> [dp]****
>
> On 28/06/2013 11:45, lapendosol opik wrote:****
>
>   ** **
>
> Trimakasih Mas Kid
> Scriptnya berjalan sesuai keinginan.
> Pertanyaan yg kedua supaya textboxnya hanya bisa terisi dengan angka saja
> harus disisipkan script gimana?
> Saya pake script VB tapi ga berhasil :'(
>
> Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
> Dim ch As String
> ch = Chr$(KeyAscii)
> Select Case ch
> Case "0"
> cmdAngka_Click 0
> Case "1"
> cmdAngka_Click 1
> Case "2"
> cmdAngka_Click 2
> Case "3"
> cmdAngka_Click 3
> Case "4"
> cmdAngka_Click 4
> Case "5"
> cmdAngka_Click 5
> Case "6"
> cmdAngka_Click 6
> Case "7"
> cmdAngka_Click 7
> Case "8"
> cmdAngka_Click 8
> Case "9"
> cmdAngka_Click 9
> End Select
> KeyAscii = 0
> End Sub****
>
> ** **
>
> ** **
>    ------------------------------
>
> *From:* Mr. Kid <[hidden email]> <[hidden email]>
> *To:* BeExcel <[hidden email]><[hidden email]>
> *Sent:* Friday, June 28, 2013 2:33 AM
> *Subject:* Re: [belajar-excel] VBA (error pada perbandingan nilai)****
>
> ** **
>
>   ****
>
> Manusia membandingkan angka yang satu dengan angka yang lainnya bisa
> dengan mudah karena secara tidak sadar otak manusia mengkonversi setiap
> tulisan angka menjadi suatu data bertipe numerik.****
>
> Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu dengan
> memberi nilai bertipe numerik untuk dibandingkan atau perintah konversi
> tipe data ke numerik agar si VBA tahu apa yang harus dikerjakannya.****
>
>
> Ubah bagian :****
>
>      ElseIf txtJumlahBeli.Text > lblStok.Caption Then****
>
> menjadi :****
>
>      ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then*
> ***
>
> ** **
>
> Wassalam,****
>
> Kid.****
>
> ** **
>
> 2013/6/28 lapendosol opik <[hidden email]>****
>
> ElseIf txtJumlahBeli.Text > lblStok.Caption Then****
>
> ** **
>
> ** **
>
> ** **
>
> ****
>
>  
>
Reply | Threaded
Open this post in threaded view
|

RE: [belajar-excel] VBA (error pada perbandingan nilai)

Ahmad Adriansyah
Wuihhh, keren Om Kid. Thanks ya...

Rgds
AA

From: [hidden email] [mailto:[hidden email]] On Behalf Of Mr. Kid
Sent: 02 Juli 2013 16:56
To: BeExcel
Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)


Coba pakai Select Case supaya punya variasi lain selain IF ELSEIF ELSE ENDIF
Select case keyascii
case 48 to 57 , 65 to 90
     'lakukan apa
case else
     keyascii=0
end select
Wassalam,
Kid.

2013/7/2 Ahmad Adriansyah <[hidden email]<mailto:[hidden email]>>

Dear Ms Jan, Om Kid, [dp], & Master lainnya,
Menyambung pertanyaan dibawah ini, untuk menuliskan koding pada VBA agas nilai suatu text box hanya dapat diisi berupa numeric dan huruf capital saja (Key Ascii : 48 s.d. 57 dan key ascii 65 s.d. 90) membuat kodingnya bagaimana ya?

Rgds,

AA

From: [hidden email]<mailto:[hidden email]> [mailto:[hidden email]<mailto:[hidden email]>] On Behalf Of De Premor
Sent: 28 Juni 2013 15:00
To: [hidden email]<mailto:[hidden email]>

Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)



Coba script berikut mas, buat mengalter karakter selain angka

Private Sub txtDisplay_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

Atau bisa juga pada event keydown, sbb:

Private Sub txtDisplay_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode > 57 And KeyCode < 96 Or KeyCode > 105 Then KeyCode = 0
End Sub

Rgds,
[dp]
On 28/06/2013 11:45, lapendosol opik wrote:

Trimakasih Mas Kid
Scriptnya berjalan sesuai keinginan.
Pertanyaan yg kedua supaya textboxnya hanya bisa terisi dengan angka saja harus disisipkan script gimana?
Saya pake script VB tapi ga berhasil :'(

Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
Dim ch As String
ch = Chr$(KeyAscii)
Select Case ch
Case "0"
cmdAngka_Click 0
Case "1"
cmdAngka_Click 1
Case "2"
cmdAngka_Click 2
Case "3"
cmdAngka_Click 3
Case "4"
cmdAngka_Click 4
Case "5"
cmdAngka_Click 5
Case "6"
cmdAngka_Click 6
Case "7"
cmdAngka_Click 7
Case "8"
cmdAngka_Click 8
Case "9"
cmdAngka_Click 9
End Select
KeyAscii = 0
End Sub


________________________________
From: Mr. Kid <[hidden email]><mailto:[hidden email]>
To: BeExcel <[hidden email]><mailto:[hidden email]>
Sent: Friday, June 28, 2013 2:33 AM
Subject: Re: [belajar-excel] VBA (error pada perbandingan nilai)


Manusia membandingkan angka yang satu dengan angka yang lainnya bisa dengan mudah karena secara tidak sadar otak manusia mengkonversi setiap tulisan angka menjadi suatu data bertipe numerik.
Berhubung mesin VBA tidak secanggih otak manusia, maka kita bantu dengan memberi nilai bertipe numerik untuk dibandingkan atau perintah konversi tipe data ke numerik agar si VBA tahu apa yang harus dikerjakannya.

Ubah bagian :
     ElseIf txtJumlahBeli.Text > lblStok.Caption Then
menjadi :
     ElseIf clng(0 & txtJumlahBeli.Text) > clng(0 & lblStok.Caption) Then

Wassalam,
Kid.

2013/6/28 lapendosol opik <[hidden email]<mailto:[hidden email]>>
ElseIf txtJumlahBeli.Text > lblStok.Caption Then