Page 1 of 1
ต้องการให้วันที่ปฏิทินชีทเดี่ยวกัน แยกกันอิสระ
Posted: Tue Nov 04, 2014 1:11 pm
by suka
เรียนอาจารย์และท่านผู้รู้ค่ะ
จากไฟล์แนบค่ะ ต้องการให้วันที่จากปฏิทิน แยกกันอิสระ ไม่เคลื่อนตามเซลล์อื่นที่มีการเปลี่ยนวันเดือนปี
ต้วอย่างไฟล์เซลล์ A2 วันที่ 1/10/2014 และที่เซลล์ D3 ได้เปลี่ยนวันที่เป็น 5/1/2015
เมื่อกลับไปกดที่เซลล์ A2 ต้องการให้ปฏิทิน Pop up ยังคงแสดงเป็นวันที่ 1/10/2014
จะปรับโค๊ดอย่างไรคะ ขอบคุณค่ะ
Re: ต้องการให้วันที่ปฏิทินชีทเดี่ยวกัน แยกกันอิสระ
Posted: Tue Nov 04, 2014 3:45 pm
by snasui

ได้ปรับ Code มาเองแล้วหรือไม่ ติดขัดบรรทัดใดครับ

Re: ต้องการให้วันที่ปฏิทินชีทเดี่ยวกัน แยกกันอิสระ
Posted: Tue Nov 04, 2014 6:22 pm
by suka
ลองปรับแล้วไม่สำเร็จค่ะ Calendar1 ไม่ทำงานนิ่งเลยค่ะ
อาจารย์คะ Calendar สามารถ Add ได้มากกว่าหนึ่งในชีทเดี๋ยวกันไหมคะ
Re: ต้องการให้วันที่ปฏิทินชีทเดี่ยวกัน แยกกันอิสระ
Posted: Tue Nov 04, 2014 6:24 pm
by snasui

แนบ Code ที่ได้ลองปรับมาเองมาด้วย สำหรับ Calendar มีแค่อันเดียวก็เพียงพอที่จะใช้งาน ไม่จำเป็นต้องมีหลายอันครับ
Re: ต้องการให้วันที่ปฏิทินชีทเดี่ยวกัน แยกกันอิสระ
Posted: Tue Nov 04, 2014 6:45 pm
by suka
Code ล่าสุดลองปรับตามด้านล่างก็ยังไม่ได้ค่ะอาจารย์
Code: Select all
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$2" Then
With ActiveSheet.Calendar1
.Visible = True
.Top = ActiveCell.Offset(0, 0).Top
.Left = ActiveCell.Offset(0, 1).Left
End With
Else
End If
If Target.Address = "$B$2" Then
With ActiveSheet.Calendar1
.Visible = True
.Top = ActiveCell.Offset(0, 0).Top
.Left = ActiveCell.Offset(0, 1).Left
End With
Else
End If
If Target.Address = "$D$2" Then
With ActiveSheet.Calendar1
.Visible = True
.Top = ActiveCell.Offset(0, 0).Top
.Left = ActiveCell.Offset(0, 1).Left
End With
Else
ActiveSheet.Calendar1.Visible = False
End If
Application.EnableEvents = True
End Sub
Re: ต้องการให้วันที่ปฏิทินชีทเดี่ยวกัน แยกกันอิสระ
Posted: Tue Nov 04, 2014 7:02 pm
by snasui
suka wrote:จากไฟล์แนบค่ะ ต้องการให้วันที่จากปฏิทิน แยกกันอิสระ ไม่เคลื่อนตามเซลล์อื่นที่มีการเปลี่ยนวันเดือนปี
ต้วอย่างไฟล์เซลล์ A2 วันที่ 1/10/2014 และที่เซลล์ D3 ได้เปลี่ยนวันที่เป็น 5/1/2015
เมื่อกลับไปกดที่เซลล์ A2 ต้องการให้ปฏิทิน Pop up ยังคงแสดงเป็นวันที่ 1/10/2014
จะปรับโค๊ดอย่างไรคะ ขอบคุณค่ะ

ตัวอย่าง Code ตามด้านล่างครับ
Code: Select all
With ActiveSheet.Calendar1
.Visible = True
.Top = ActiveCell.Offset(0, 0).Top
.Left = ActiveCell.Offset(0, 1).Left
if target.value <> "" then
.value = target.value
end if
End With
Re: ต้องการให้วันที่ปฏิทินชีทเดี่ยวกัน แยกกันอิสระ
Posted: Tue Nov 04, 2014 7:20 pm
by suka

ขอบพระคุณอาจารย์มากเลยค่ะ สามารถใช้ได้ตรงตามต้องการแล้วค่ะ