Page 1 of 1
โค้ด VBA ใน EXCEL 2003 เวลาใช้ใน 2007
Posted: Tue Jun 25, 2013 5:30 pm
by wisit
รบกวนอาจารย์และเพื่อนๆ พอดีผมใช้โค้ด VBA ใน EXCEL 2003 แต่พอนำไฟล์งานไปใช้ใน EXCEL 2007 กลับรันไม่ได้ ทั้งที่ตั้งค่าเพื่อเปิดการใช้งาน Macro แล้วครับ ไม่รู้ต้องทำอย่างไร
Re: โค้ด VBA ใน EXCEL 2003 เวลาใช้ใน 2007
Posted: Tue Jun 25, 2013 7:00 pm
by nattasiray
ในหน้าต่างเขียนรหัส ให้ใส่ Comment ตรงบรรทัดที่รันไม่ได้ แล้วแนบแฟ้มเข้ากระดานถามตอบปัญหา
ลอง Step Running ดูด้วยครับ
Re: โค้ด VBA ใน EXCEL 2003 เวลาใช้ใน 2007
Posted: Tue Jun 25, 2013 7:14 pm
by wisit
โค้ดไม่มีปัญหาเวลารัน VBA ใน EXCEL 2003 ครับ แต่เวลาใช้ EXCEL 2007 จะรัน VBA ไม่ได้ครับ
Code: Select all
Option Explicit
Option Base 1
Dim i As Long
Sub KeyEventOn()
Dim a As Variant
Application.TransitionMenuKey = "\"
a = Array(95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111)
For i = 1 To UBound(a)
Application.OnKey "{" & a(i) & "}", "'EnterToNextCell """ & a(i) & """'"
Next i
End Sub
Sub KeyEventOff()
Dim a As Variant
Application.TransitionMenuKey = "/"
a = Array(95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111)
For i = 1 To UBound(a)
Application.OnKey "{" & a(i) & "}"
Next i
End Sub
Sub EnterToNextCell(ByVal KeyCode As Long)
Dim strText As String
Dim s As String
If Not TypeOf Selection Is Range Then Exit Sub
s = Chr(KeyCode)
Select Case s
Case "k", "n", "`": s = 0
Case "a": s = 1
Case "b": s = 2
Case "c": s = 3
Case "d": s = 4
Case "e": s = 5
Case "f": s = 6
Case "g": s = 7
Case "h", "o": s = 8
Case "j", "i", "m": s = 9
End Select
strText = Selection.Value & s
Selection.Value = strText
Select Case Selection.Column
Case 3, 12
'MsgBox "2"
If Len(Selection) >= 2 Then
Application.SendKeys "{ENTER}"
End If
Case 6, 9, 15
'MsgBox "5"
If Len(Selection) >= 3 Then
Application.SendKeys "{ENTER}"
End If
End Select
End Sub
Re: โค้ด VBA ใน EXCEL 2003 เวลาใช้ใน 2007
Posted: Tue Jun 25, 2013 10:03 pm
by snasui

ช่วยแจ้งมาด้วยครับว่าที่ Run ไม่ได้นั้นโปรแกรมฟ้องว่าอะไรบ้าง
Re: โค้ด VBA ใน EXCEL 2003 เวลาใช้ใน 2007
Posted: Tue Jun 25, 2013 10:56 pm
by wisit
ได้แล้วครับ ผมลืมกดปุ่ม options..แล้วเลือก Enable this content เลยทำให้รัน VBA ไม่ได้
