Những câu hỏi về code, xin giải thích các code, đề nghị các bạn gửi vào đây

Liên hệ QC
Status
Không mở trả lời sau này.

ST-Lu!

Love Wingchun
Tham gia
19/8/08
Bài viết
730
Được thích
546
Nghề nghiệp
Xích lô một thời
Kể từ hôm nay, tất cả những câu hỏi nhờ giải thích dùm một đoạn code, hay là hỏi những vấn đề linh tinh gì liên quan đến cách viết code, đề nghị các bạn gửi chung vào đây.

Những đề tài mới với tiêu đề: "Nhờ giải thích dùm đoạn code", mà không nói rõ là code gì, code dùng để làm gì, sẽ bị xóa.

BQT

----------------------------------------------------------------------------------------------------------------


Em xin được hỏi 2 đoạn code sau có tương đương nhau ?

Cells(Cells.Rows.Count, 1).End(xlUp).Row có tương đương với [A65000].End(xlup).row

Cám ơn các anh chỉ giáo
 
Chỉnh sửa lần cuối bởi điều hành viên:
Hàm MAX() chỉ xài với các ô chứa số liệu, chứ bạn bắt nó xài với dữ liệu nó đếch chịu làm là fải rồi còn gì!
Cái này do qui ước trong Control Panel giữa 2 máy thôi, máy làm ra file có qui ước khác, bạn đem file về máy bạn với qui ước khác
 
Upvote 0
Hàm MAX() chỉ xài với các ô chứa số liệu, chứ bạn bắt nó xài với dữ liệu nó đếch chịu làm là fải rồi còn gì!
Cái này do qui ước trong Control Panel giữa 2 máy thôi, máy làm ra file có qui ước khác, bạn đem file về máy bạn với qui ước khác
thế thì bây giờ mình làm như thế nào.
bạn chỉ giúp mình được không.
 
Upvote 0
Với file của bạn, mình thử chạy macro này & OK:
PHP:
Sub IsNumber()
 Dim Cls As Range, Rng As Range, Rws As Long
 
 Rws = [b4].CurrentRegion.Rows.Count
 Set Rng = [c6].Resize(Rws, 6)
 For Each Cls In Rng
   If IsNumeric(Cls.Value) And Cls.Value <> "" Then
      Cls.Value = CDbl(Cls.Value)
   End If
 Next Cls
End Sub
 
Upvote 0
Với file của bạn, mình thử chạy macro này & OK:
PHP:
Sub IsNumber()
 Dim Cls As Range, Rng As Range, Rws As Long
 
 Rws = [b4].CurrentRegion.Rows.Count
 Set Rng = [c6].Resize(Rws, 6)
 For Each Cls In Rng
   If IsNumeric(Cls.Value) And Cls.Value <> "" Then
      Cls.Value = CDbl(Cls.Value)
   End If
 Next Cls
End Sub

Mình làm được roi HYen17 rồi.
Nhưng khi tớ thay đổi tên sheet thì nó báo lỗi trên.
Mong bạn giúp mình.
Mong hồi âm sớm.
thanks
 

File đính kèm

  • file.rar
    193.9 KB · Đọc: 15
Upvote 0
Nhưng khi tớ thay đổi tên sheet thì nó báo lỗi trên.
Mong bạn giúp mình.
Mong hồi âm sớm.

May quá lỗi trong macro của ai đó chớ không fải mình là tác giả!
/-(ơn nữa ba cái Conetion gì gì ấy mình dị ứng lắm;
/-)ừng trong mong gì từ mình bạn à!


Thân!
 
Upvote 0
May quá lỗi trong macro của ai đó chớ không fải mình là tác giả!
/-(ơn nữa ba cái Conetion gì gì ấy mình dị ứng lắm;
/-)ừng trong mong gì từ mình bạn à!


Thân!
dù sao cũng cám ơn bạn nhiều.
Bạn đã giúp mình rất nhiều đấy.
thanks.
thật ra thì mình chỉ cầu toàn hơn thôi.
còn để như củ thì mình vẫn dùng được mà,
một lần nữa cám ơn bạn rất nhiều.
chúc bạn luôn may mắn và thành đạt
thân.
 
Upvote 0
Lọc dữ liệu

Xin nhờ các Thầy, các Anh, Chị....giúp đỡTôi có 1 file gồm các cột: Tên người, tuổi, năm sinh, trình độ.... Nay muốn dùng code để lọc danh sách theo tuổi, năm sinh, trình độ.... Nhờ chỉ dùm, Xin đa tạ
 
Upvote 0
Xin nhờ các Thầy, các Anh, Chị....giúp đỡTôi có 1 file gồm các cột: Tên người, tuổi, năm sinh, trình độ.... Nay muốn dùng code để lọc danh sách theo tuổi, năm sinh, trình độ.... Nhờ chỉ dùm, Xin đa tạ
Đưa file lên đi ạ. Mà dùng code lọc chắc recode thao tác Advanced cũng ngon lành.
 
Upvote 0
Xin nhờ các Thầy, các Anh, Chị....giúp đỡTôi có 1 file gồm các cột: Tên người, tuổi, năm sinh, trình độ.... Nay muốn dùng code để lọc danh sách theo tuổi, năm sinh, trình độ.... Nhờ chỉ dùm, Xin đa tạ

Cái này dùng AutoFilter thôi, đâu cần dùng code? Xem File.

Còn muốn dùng Code, xem tại bài này: http://www.giaiphapexcel.com/forum/...-về-hàm-UDF-Filter2DArray&p=360839#post360839
 

File đính kèm

  • AutoFilter.xls
    18.5 KB · Đọc: 10
Lần chỉnh sửa cuối:
Upvote 0
Nhờ viết code lọc dữ liệu

Tôi làm công tác văn thư ở trường học, do trình độ tin học còn quá yếu, nay nhờ các Thầy, Cô, các bạn giúp viết dùm đoạn code với mục đích như sau: Trong thời khóa biểu của trường, nếu gõ tên giáo viên nào thì lọc thời khóa biểu của người đó ra. Tôi có gởi file kèm. Cụ thể tại ô K1 nếu gõ tên "Toản" thì trích xuất thời khóa biểu cá nhân ra tại ô L3:Q66 như trong file. Rất mong các Thầy, Cô, các bạn giúp đỡ. Xin cám ơn nhiều. Xin giải quyết nội dung trên bằng code vba
 

File đính kèm

  • TKB.xls
    30.5 KB · Đọc: 6
Lần chỉnh sửa cuối:
Upvote 0
Không fải gỏ, mà là chọn từ danh sách giáo viên của trường

Tôi làm văn thư ở trường học, nay nhờ các Thầy, Cô, các bạn giúp viết dùm đoạn code với mục đích như sau: Trong thời khóa biểu của trường, nếu gõ tên giáo viên nào thì lọc thời khóa biểu của người đó ra. Tôi có gởi file kèm. Cụ thể tại ô K1 nếu gõ tên "Toản" thì trích xuất thời khóa biểu cá nhân ra tại ô L3:Q66 như trong file. Rất mong các Thầy, Cô, các bạn giúp đỡ.

. . . . . . . . . .> xem trong file . . . . . >
 

File đính kèm

  • gpeGiaoDuc.rar
    18.9 KB · Đọc: 17
Upvote 0
Cám ơn bạn, nhưng tôi muốn giải quyết nội dung trên bằng code, bạn giúp tôi nha
 
Upvote 0
Macro sự kiện mà!

Cám ơn bạn, nhưng tôi muốn giải quyết nội dung trên bằng code, bạn giúp tôi nha

Bạn tìm đâu đó bên dưới trang tính sẽ thấy các macro như sau:

Mã:
Option Explicit
[B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
 If Not Intersect(Target, [K1]) Is Nothing Then
   Union(Range("N5:Q34"), Range("N37:Q70")).ClearContents
   TKBCaNhan Target
 End If
[B]End Sub[/B]

PHP:
Sub TKBCaNhan(Targ As Range)
 Dim Rng As Range, sRng As Range
 Const MN As String = " ("
 Dim VTr As Byte, Hang As Long, Rs As Long
 Dim MyAdd As String, Mon As String, Lop As String
 
 Set Rng = Union(Range("C5:J29"), Range("C36:J61"))
 Set sRng = Rng.Find(Targ.Value, , xlFormulas, xlPart)
 If Not sRng Is Nothing Then
   MyAdd = sRng.Address
   Do
      Rs = sRng.Row:                      Hang = IIf(Rs < 33, 2, 34)
      VTr = InStr(sRng.Value, MN):        Lop = Cells(Hang, sRng.Column).Value
      Cells(Rs + 2, "o").Value = Lop:     Mon = Left(sRng, VTr - 1)
      Cells(Rs + 2, "N").Value = Lop & Mon
      Cells(Rs + 2, "Q").Value = Mon
      Set sRng = Rng.FindNext(sRng)
   Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
 End If
End Sub

Ngoài ra mình còn khuyến mãi cho bạn 1 macro tạo danh sách giáo viên trong trường nữa kìa!

Lần sau nhớ tìm trước khi fát biểu dùm cái nha!
 
Upvote 0
Xin lỗ bạn SA_DQ. Mình xem không kỹ. Cám ơn bạn nhiều. Chúc bạn khỏe
Bạn giúp mình thêm chút nữa nha. Cụ thể
1. Khi trích lọc thời khóa biểu cá nhân ở cột môn lớp (cột N) chỉ lấy 2 ký tự môn (6DAVăn thì lấy 6DAV thôi) cột môn (Q) cũng vậy
2. Khi ở Thời khóa biểu của trường, giữa môn học và tên người dạy không có khoảng trắng vd: AVăn(Cương) thí code chạy sai.
làm sao để dù có hay không có khoảng trắng vẫn chạy được
Bạn giúp minh nha.Cám ơn nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
Mình hướng dẫn từ xa, bạn sửa lại xem thử nha:

(2) Bạn tìm tới dòng lệnh tương tự như
PHP:
Const MN As String = "("
& sửa lại như vậy

(1) Bạn tìm tới dòng tương tự như
PHP:
Mon = Left(sRng, 2)  'VTr - 1'
& sửa

( Ở đây thay vì VTr -1 bạn thay thàng con số 2

Chúc thắng lợi!
 
Upvote 0
Chào bạn HYen 17. Cám ơn bạn, mình đã làm theo bạn hướng dẫn nhưng kết quả không đúng theo yêu cầu đặt ra: (2. Khi ở Thời khóa biểu của trường, giữa môn học và tên người dạy không có khoảng trắng vd: AVăn(Cương) thí code chạy sai. làm sao để dù có khoảng trắng, người khác không co khoảng trắng vẫn chạy đúng). còn vấn đề 1 (1. Khi trích lọc thời khóa biểu cá nhân ở cột môn lớp (cột N) chỉ lấy 2 ký tự môn (6DAVăn thì lấy 6DAV thôi) cột môn (Q) cũng vậy) với môn NVăn thì đúng na NV nhưng với môn Tin thi sai kết quả lá T chứ không phải la Ti như yêu cầu. Rất mong bạn chỉ dẫn thêm. Cám ơn bạn nhiều.
 
Upvote 0
Không khá hơn được!

-\\/. -\\/. -\\/. -\\/. %#^#$ %#^#$ %#^#$ @#!^% @#!^% @#!^%
 

File đính kèm

  • gpeGiaoDuc.rar
    19.2 KB · Đọc: 18
Upvote 0
các bạn cho mình hỏi, mình đang có 1 file excel gồm nhìu cell đang có 2 hàng (ví dụ dòng 1 ALT + Enter dòng 2), giờ mình muốn format cho nó theo dạng dòng 1 Bold và dòng 2 Italic, mình muốn làm vậy cho nhìu cell thì phải như thế nào, mong các bạn giúp mình, thanks all
 
Upvote 0
các bạn cho mình hỏi, mình đang có 1 file excel gồm nhìu cell đang có 2 hàng (ví dụ dòng 1 ALT + Enter dòng 2), giờ mình muốn format cho nó theo dạng dòng 1 Bold và dòng 2 Italic, mình muốn làm vậy cho nhìu cell thì phải như thế nào, mong các bạn giúp mình, thanks all

Có ngay cho bạn đây:

Bạn chọn ô hoặc khối ô mà bạn muốn dòng trên tô đậm, dòng dưới nghiêng, sau đó bạn cho chạy thủ tục sau đây:

PHP:
Sub Bold_Italic()
    Dim Rng As Range, i As Long
    For Each Rng In Selection
        With Rng
            .Font.Bold = False
            .Font.Italic = False
            i = InStr(.Value, Chr(10))
            .Characters(Start:=1, Length:=i).Font.FontStyle = "Bold"
            .Characters(Start:=i, Length:=Len(.Value) + 1 - i).Font.FontStyle = "Italic"
        End With
    Next
End Sub

Vừa ý chưa nè!
 
Lần chỉnh sửa cuối:
Upvote 0
(òn đây là xử lý trên các ô có dữ liệu thuộc cột 'B'

PHP:
Option Explicit
Sub gpeALT_ENTER()
 Dim StrC As String, Cls As Range, VTr As Long
 
 StrC = Chr(10)
 For Each Cls In Range([B1], [B65500].End(xlUp))
    VTr = InStr(Cls.Value, StrC)
    If VTr > 0 Then
        Cls.Select
        With ActiveCell.Characters(Start:=1, Length:=VTr - 1).Font
            .FontStyle = "Bold"
            .ColorIndex = 3
        End With
        With ActiveCell.Characters(Start:=VTr + 1, Length:=Len(Cls.Value)).Font
            .FontStyle = "Italic"
            .ColorIndex = 5
        End With
    End If
 Next Cls
End Sub
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

Bài viết mới nhất

Back
Top Bottom