KUMI
Bụi phấn
- Tham gia
- 17/1/12
- Bài viết
- 564
- Được thích
- 571
Option Explicit
Sub GPE()
Dim Th As Variant, Rws As Long
Dim Rng As Range, sRng As Range
Set Rng = Range([F11], [iu11].End(xlToLeft).Offset(, 9))
Th = [b11].Value
Set sRng = Rng.Find([b11].Value, , xlFormulas, xlWhole)
Rws = [b12].End(xlDown).Row
If sRng Is Nothing Then
[b11].Resize(Rws, 4).Copy Destination:=[iu11].End(xlToLeft).Offset(, 1)
Else
Th = MsgBox("Tháng Này Da Có", 3, "Ban Muón Cap Nhat?")
If Th = 6 Then
[b11].Resize(Rws, 4).Copy Destination:=sRng
ElseIf Th = 7 Then
MsgBox "Tam Biet Ban!", , "Hen Tái Ngo!"
ElseIf Th = 2 Then
MsgBox "Do Ngu!", , "Tam Biet Ban!"
End If
End If
End Sub
[FONT=Courier New][COLOR=#007700] [/COLOR][COLOR=#0000bb]Rws [/COLOR][COLOR=#007700]= [[/COLOR][COLOR=#0000bb]b12[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000bb]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]xlDown[/COLOR][COLOR=#007700]).[/COLOR][/FONT][COLOR=#0000bb][FONT=Courier New]Row - [/FONT][/COLOR][COLOR=#ff0000][FONT=Courier New][B]10[/B][/FONT][/COLOR][COLOR=#0000bb]
Em chào Thầy CÔ và Anh Chị trong GPE ạ!
Em đang mong muốn làm sao có thể thực được những thỉnh cầu đã đưa trong file kèm.
Thầy Cô và và anh Chị xem có thể giả quyết được không, Giúp em với ạ!
Em xin cảm ơn!!!
ý! Em xin hỏi thêm 1 vấn đề nhỏ để chức năng được hoản hảo hơn ạ... nghiã là mình có thể Thêm 1 đoạn code nào đó để pase độ rộng của cột sau khi di chuyển đúng bằng độ rộng của bảng cũ không ạ? (hì cái này em có thể làm bằng tay trong vài giây được nhưng em muốn nó hoàn hảo và đẹp mắt hơn nữa ạ)...![]()
Hì xem giúp em câu hỏi cuối cùng với ạ!!
!
Option Explicit
Sub GPE()
0 Dim Th As Variant, Rws As Long, MaxCol As Double, Mn As Byte
Dim Rng As Range, sRng As Range
1 Dim SCol As String
Set Rng = Range([F11], [iU11].End(xlToLeft).Offset(, 9))
2 For Th = 2 To 5
3 SCol = Switch(Th = 2, "B:B", Th = 3, "c:C", Th = 4, "D:d", Th = 5, "E:e")
4 If Columns(SCol).Width > MaxCol Then MaxCol = Columns(SCol).Width
5 Next Th
Th = [b11].Value
Set sRng = Rng.Find(Th, , xlFormulas, xlWhole)
Rws = [b12].End(xlDown).Row
If sRng Is Nothing Then
6 Mn = CByte(Right(Th, 2))
7 SCol = Switch(Mn = 1, "F:I", Mn = 2, "j:m", Mn = 3, "n:Q", Mn = 4, "r:U", _
Mn = 5, "v:Y", Mn = 6, "z:Ac", Mn = 7, "aD:Ag", Mn = 8, "aH:aK", _
Mn = 9, "aI:aO", Mn = 10, "aP:aS", Mn = 11, "aT:aw", Mn = 12, "aX:bA")
8 Columns(SCol).ColumnWidth = MaxCol
[b11].Resize(Rws, 4).Copy Destination:=[iU11].End(xlToLeft).Offset(, 1)
9 Columns(SCol).Select
10 Selection.EntireColumn.AutoFit
Else
Th = MsgBox("Tháng Này Da Có", 3, "Ban Muón Cap Nhat?")
If Th = 6 Then
12 sRng.Resize(, 4).EntireColumn.ColumnWidth = MaxCol
[b11].Resize(Rws, 4).Copy Destination:=sRng
13 sRng.Resize(, 4).EntireColumn.AutoFit
ElseIf Th = 7 Then
MsgBox "Tam Biet Ban!", , "Hen Tái Ngo!"
ElseIf Th = 2 Then
MsgBox "2uá Ngu!", , "Tam Biet Ban!"
End If
End If
End Sub