



ptm0412 đã viết:Cho mình hỏi, double click vào cell B4 thì nhảy ra calender thì mình hiểu, nhưng khi chọn 1 ngày trong calendar thì làm sao cho ngày đó nhảy vào B4 nằm?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A3:A15")) Is Nothing Then _
Application.Speech.Speak "This is " & Target.Value
End Sub
SA_DQ đã viết:Bạn thử chép đoạn mã sau vô 1 sheetName nào đó & nhập thử một ngày bất kỳ (dạng mẽo!) vô vùng 'A3:A15' sẽ nghe phát âm trên loa máy tính!PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A3:A15")) Is Nothing Then _ Application.Speech.Speak "This is " & Target.Value End Sub
thì OK không chừng !?!bbc đã viết:If Not Intersect(Target, Range("A35:IV35")) Is Nothing Then _
Application.Speech.Speak Target.Value & " Cam duoc dung vao"
minhlev đã viết:Bạn xem file nhé, tôi dùng VBA. Bạn click vào ô bất kỳ của cột A nhé.
minhlev đã viết:Bác vào Excel --> nhấn tổ hợp Alt+F11 --> Insert UserForm --> nháy chuột phải vào Toolbox (xuất hiện đồng thời với UserForm) --> Additional Controls --> tìm và chọn Calendar Control là được.




Nó nằm trong thanh Control Toolbox ấy Tigertiger à... Tên của biểu tượng là More Control, biểu tượng có hình cái búa... Bấm vào nó, chọn Calendar Control 10.0tigertiger đã viết:Không thấy lun minhlev ah,
có Addittional control nhưng chọn vào k thấy xuất hiện gì (màn hình nháy cái rồi đứng im lun) hay là trong máy phải cài VB mới có thêm đối tượng này nhỉ, Vô lý - dùng file của thiết kế trước vẫn hiện bình thường mà, lạ quá? giúp giải đáp cho tigertiger nhé,





binhson2002 đã viết:Công việc của mình thương xuyên dùng EX và nhất là ngày tháng. Mình muốn nhập ngày 17/12/2007 nhưng ko cần nhập dấu"/" chỉ cần nhập 171207 vào một ô nào đó thì nó sẽ hiển thị là: 17/12/2007. Bác nào biết giúp em với. Thank





Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim r As Integer
Dim d, m, y
If Target.Column = 1 And Target.Row < 100 Then
r = Target.Row
y = Int(Target / 10000)
m = Int((Target - y * 10000) / 100)
If (Target - y * 10000 - m * 100) < 30 Then
d = Target - y * 10000 - m * 100 + 2000
Else
d = Target - y * 10000 - m * 100
End If
Target = DateValue(y & "/" & m & "/" & d)
Target.NumberFormat = "dd/mm/yyyy"
End If
End Sub




Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim DateStr As String
On Error GoTo EndMacro
If Application.Intersect(Target, Range("A1:A100")) Is Nothing Then
Exit Sub
End If
If Target.Cells.Count > 1 Then
Exit Sub
End If
If Target.Value = "" Then
Exit Sub
End If
Application.EnableEvents = False
With Target
If .HasFormula = False Then
Select Case Len(.Formula)
Case 4 ' e.g., 9298 = 2-Sep-1998
DateStr = Left(.Formula, 1) & "/" & _
Mid(.Formula, 2, 1) & "/" & Right(.Formula, 2)
Case 5 ' e.g., 11298 = 12-Jan-1998 NOT 2-Nov-1998
DateStr = Left(.Formula, 1) & "/" & _
Mid(.Formula, 2, 2) & "/" & Right(.Formula, 2)
Case 6 ' e.g., 090298 = 2-Sep-1998
DateStr = Left(.Formula, 2) & "/" & _
Mid(.Formula, 3, 2) & "/" & Right(.Formula, 2)
Case 7 ' e.g., 1231998 = 23-Jan-1998 NOT 3-Dec-1998
DateStr = Left(.Formula, 1) & "/" & _
Mid(.Formula, 2, 2) & "/" & Right(.Formula, 4)
Case 8 ' e.g., 09021998 = 2-Sep-1998
DateStr = Left(.Formula, 2) & "/" & _
Mid(.Formula, 3, 2) & "/" & Right(.Formula, 4)
Case Else
Err.Raise 0
End Select
.Formula = DateValue(DateStr)
End If
End With
Application.EnableEvents = True
Exit Sub
EndMacro:
MsgBox "You did not enter a valid date."
Application.EnableEvents = True
End Sub





Chọn ngày tháng trên Calendar thì ngày tháng hiện trên TextBox, rồi từ TextBox lại lưu vào 1 cell trong bảng tính? Sao rối vậy? Lý ra khi khi chọn ngày tháng trên Calendar thì đưa giá trị vào cell luôn chứ! TexBox trong trường hợp này có phải là dư ko?vậy em muốn tạo 1 form, trên form có 1 command chọn đến calender, và 1 textbox. vậy em phải làm thế nào để khi chọn command, chọn ngày tháng thì ngày tháng đó hiện lên textbox và lưu vào một ô nào đó trong sheet. mong các anh chị chỉ giáo.
Em dự tính là sẽ cho sheet chứa ngày tháng đó ẩn, vậy khi chọn ngày tháng trên form thì sẽ hiện trên textbox cho người sử dụng biết mình đang chọn ngày đó, nếu nhầm thì có thể thay đổi lại.Chọn ngày tháng trên Calendar thì ngày tháng hiện trên TextBox, rồi từ TextBox lại lưu vào 1 cell trong bảng tính? Sao rối vậy? Lý ra khi khi chọn ngày tháng trên Calendar thì đưa giá trị vào cell luôn chứ! TexBox trong trường hợp này có phải là dư ko?
oh, lấy đối tượng ở calandar ở đâu vậy nhỉ???
Excel của tigertiger ko thấy, trước tigertiger có sd ở VB thôi,
Bạn xem file nhé, tôi dùng VBA. Bạn click vào ô bất kỳ của cột A nhé.