tanthanhkg
Thành viên hoạt động
- Tham gia
- 16/8/08
- Bài viết
- 196
- Được thích
- 25
Có đính kèm File mà giải thích không rỏ ràng, cụ thể và không có ví dụ thì chưa chắc có ai hiểu để mà giúp.Chào cả nhà! Chúc cả nhà một buổi tối vv&hp.
Loay hoay làm hoài không được. Xin cả nhà giúp đỡ "Lấy tên các xin điền vào cột MÔN HỌC (Cột A)
Em xin cảm ơn.
Bài đã được tự động gộp:
Dạ danh sách em đã đưa vào file, ở sheet PHANCONGBạn cần có danh mục giáo viên dạy các môn của mình mới làm được
Cái danh sách đó bạn cất đâu rồi, bới tìm & đưa vô file đi
Lang thang trên GPE em tìm được file "T00_gammaTN_pho..." bên dưới không biết của tác giả nào, xin mạn phép được mượn để mô tả.Bạn cần có danh mục giáo viên dạy các môn của mình mới làm được
Cái danh sách đó bạn cất đâu rồi, bới tìm & đưa vô file đi
Sao những chủ đề như thế này không được admin vào giúp nhỉ.Chào cả nhà! Chúc cả nhà một buổi tối vv&hp.
Loay hoay làm hoài không được. Xin cả nhà giúp đỡ "Lấy tên sheet điền vào cột MÔN HỌC (Cột A)
Em xin cảm ơn.
Bài đã được tự động gộp:
Const FirstRow As Long = 11, EndCol As Long = 17, sShTongHop As String = "TONG HOP"
Sub ChayCaiNay()
Dim ShTongHop As Worksheet, Sh As Worksheet, NextRow As Long, EndRow As Long, Rng As Range
On Error Resume Next
Application.ScreenUpdating = False
Set ShTongHop = Sheets(sShTongHop)
If ShTongHop Is Nothing Then
Worksheets.Add Worksheets(1)
Set ShTongHop = Worksheets(1)
ShTongHop.Name = sShTongHop
End If
With ShTongHop
.Range(.Cells(FirstRow, 1), .Cells(65536, EndCol)).Clear
End With
NextRow = FirstRow
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> sShTongHop Then
Set Rng = Sh.Cells(65536, 1).End(xlUp)
If Rng.Row >= FirstRow Then
Set Rng = Rng.MergeArea
Set Rng = Range(Rng.Cells(Rng.Rows.Count, 2), Sh.Cells(FirstRow, EndCol))
Rng.Copy ShTongHop.Cells(NextRow, 2)
With ShTongHop.Cells(NextRow, 2).Resize(Rng.Rows.Count)
.Copy .Offset(, -1)
.Offset(, -1).Value = Sh.Name
End With
NextRow = NextRow + Rng.Rows.Count
End If
End If
Next
Application.ScreenUpdating = True
End Sub
Sub DienMonHocVoCotATrangTongHop()
Dim Sh As Worksheet, Rng As Range, sRng As Range, Cls As Range
Sheets("PHAN CONG").Select
Set Sh = ThisWorkbook.Worksheets("TONG HOP")
Set Rng = Sh.Range(Sh.[B10], Sh.[B65500].End(xlUp).Offset(9))
' Rng.Offset(, -1).Value = "" '
For Each Cls In Range([B9], [B9].End(xlDown))
Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
If sRng Is Nothing Then
Cls.Interior.ColorIndex = 38
Else
sRng.Offset(, -1).Value = Cls.Offset(, 1).Value
End If
Next Cls
End Sub
Dạ cảm ơn Bác SA_DQ rất nhiều ạ.Mình chỉ biết làm thế này thôi; Bạn xem tạm:
PHP:Sub DienMonHocVoCotATrangTongHop() Dim Sh As Worksheet, Rng As Range, sRng As Range, Cls As Range Sheets("PHAN CONG").Select Set Sh = ThisWorkbook.Worksheets("TONG HOP") Set Rng = Sh.Range(Sh.[B10], Sh.[B65500].End(xlUp).Offset(9)) ' Rng.Offset(, -1).Value = "" ' For Each Cls In Range([B9], [B9].End(xlDown)) Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole) If sRng Is Nothing Then Cls.Interior.ColorIndex = 38 Else sRng.Offset(, -1).Value = Cls.Offset(, 1).Value End If Next Cls End Sub
Dạ em cảm ơn Bác huuthang_bd rất nhiều ạ.Sao những chủ đề như thế này không được admin vào giúp nhỉ.
Nhờ bạn ké ở chủ đề này nên tôi mới thấy
Mã:Const FirstRow As Long = 11, EndCol As Long = 17, sShTongHop As String = "TONG HOP" Sub ChayCaiNay() Dim ShTongHop As Worksheet, Sh As Worksheet, NextRow As Long, EndRow As Long, Rng As Range On Error Resume Next Application.ScreenUpdating = False Set ShTongHop = Sheets(sShTongHop) If ShTongHop Is Nothing Then Worksheets.Add Worksheets(1) Set ShTongHop = Worksheets(1) ShTongHop.Name = sShTongHop End If With ShTongHop .Range(.Cells(FirstRow, 1), .Cells(65536, EndCol)).Clear End With NextRow = FirstRow For Each Sh In ThisWorkbook.Worksheets If Sh.Name <> sShTongHop Then Set Rng = Sh.Cells(65536, 1).End(xlUp) If Rng.Row >= FirstRow Then Set Rng = Rng.MergeArea Set Rng = Range(Rng.Cells(Rng.Rows.Count, 2), Sh.Cells(FirstRow, EndCol)) Rng.Copy ShTongHop.Cells(NextRow, 2) With ShTongHop.Cells(NextRow, 2).Resize(Rng.Rows.Count) .Copy .Offset(, -1) .Offset(, -1).Value = Sh.Name End With NextRow = NextRow + Rng.Rows.Count End If End If Next Application.ScreenUpdating = True End Sub
Vậy chứ ý bạn là sao? Gửi kết quả mẫu lên.Dạ em cảm ơn Bác huuthang_bd rất nhiều ạ.
Nhưng mà Bác ơi khi đưa đoạn code vào và chạy thì nó lại dồn tất cả dữ liệu xuống phía dưới ạ không đúng với ý tưởng của em ạ.
Mong Bác chỉnh sửa lại đúng với yêu cầu nội dung ở bài #1 được không ạ.
Em cảm ơn Bác trước nhé
Em chào Bác huuthang_bd xin cảm ơn Bác rất nhiều ạ.Vậy chứ ý bạn là sao? Gửi kết quả mẫu lên.
Bạn đưa file đã copy code của tôi vào rồi mà chạy ra kết quả như hình 1 tôi xem. Code của tôi không thể nào ra kết quả như hình 1.Em chào Bác huuthang_bd xin cảm ơn Bác rất nhiều ạ.
Sau khi chạy code của Bác bấm vào nút GPE ở sheet TONGHOP thì kết quả như HÌNH 1
Kết quả của em mong muốn như HÌNH 2 Bác ạ.
Ý tưởng của em như bài #1 "Lấy tên sheet điền vào cột MÔN HỌC (Cột A) nhưng không cần phải dựa vào sheet PHANCONG, sheet này em đã xóa đi. Cách làm tương tự như file "T00_gammaTN_pho..." này. Nhưng chỉ "Lấy tên sheet điền vào cột MÔN HỌC (Cột A). Em post file lên lại mong Bác giúp em ạ.
(chú ý đã xóa sheet PHANCONG)
Dạ chào BácBạn đưa file đã copy code của tôi vào rồi mà chạy ra kết quả như hình 1 tôi xem. Code của tôi không thể nào ra kết quả như hình 1.
Dạ chào Bác.Lấy tên sheet dựa vào cái gì?
Nếu đơn giản dựa vào địa chỉ ô của sheet đó thì bạn tìm hiểu hàm CELL
Ở đâu ra cái sheet PHAN CONG vậy? Hỏi cái nào áp dụng cho cái đấy. Bạn thử tải file bài 1 của bạn về rồi copy code vào chạy xem nó ra cái gì.Dạ chào Bác
Đây là file kết quả em đã đưa code của Bác vào ạ.
Mong Bác xem giúp đỡ.
Bài đã được tự động gộp:
Bài đã được tự động gộp:
Dạ chào Bác.
Đơn giản như file "T00_gammaTN_pho.xlsm" này ạ
U cha ơi thật là có lỗi với Bác "huuthang_bd". Thành thật xin lỗi Bác nhá.Ở đâu ra cái sheet PHAN CONG vậy? Hỏi cái nào áp dụng cho cái đấy. Bạn thử tải file bài 1 của bạn về rồi copy code vào chạy xem nó ra cái gì.
Hỏi file A mang áp dụng cho file B rồi bảo là không đúng thì tôi có là thánh cũng không biết tại sao không đúng.
Vậy mà lòng vòng loay hoay cả ngày cứ trách Bác "huuthang_bd" hoài.Ở đâu ra cái sheet PHAN CONG vậy? Hỏi cái nào áp dụng cho cái đấy. Bạn thử tải file bài 1 của bạn về rồi copy code vào chạy xem nó ra cái gì.
Hỏi file A mang áp dụng cho file B rồi bảo là không đúng thì tôi có là thánh cũng không biết tại sao không đúng.
Dựa vào đoạn code bài #7 của Bác "huuthang_bd" đó....Lấy tên sheet dựa vào cái gì?
Nếu đơn giản dựa vào địa chỉ ô của sheet đó thì bạn tìm hiểu hàm CELL
DIỄN ĐÀN GIẢI PHÁP EXCEL