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:
Tặng bạn file này mình đang sử dụng. Tuỳ biến theo yêu câu của bạn. File của bạn trộn cell sẽ không chạy được phải sửa code lai. Cột 8 của bạn chứa các ký tự không thể đặt tên sheet

chào bạn quanghai
file của bạn rất hay, tôi áp dụng thấy rất tốt, nhưng có 1 vấn đề mong bạn giúp, khi tôi thêm 1 sheet nữa có số liệu để tính toán nhưng khi bấm command thì tách ra thì không sao nhưng khi ghép vào nó ghép cả sheet mới tạo và xoá luôn sheet đó, vậy phải sửa code thề nào để nó không xoá sheet đo và ko copy dữ liệu sheet đó vào sheet "TỔNG HỢP", tôi đặt tên sheet mới tạo là "PBQL". XIN CẢM ƠN BẠN
For Each sh In ThisWorkbook.Worksheets
' If sh.Name = "PBQL" Then
If sh.Name <> "TONG HOP" Then
sh.Range(sh.[A3], sh.[J65536].End(3)).Copy _
Sheets("TONG HOP").[A65536].End(3).Offset(1)
sh.Delete
End If
 
Lần chỉnh sửa cuối:
Upvote 0
chào bạn quanghai
file của bạn rất hay, tôi áp dụng thấy rất tốt, nhưng có 1 vấn đề mong bạn giúp, khi tôi thêm 1 sheet nữa có số liệu để tính toán nhưng khi bấm command thì tách ra thì không sao nhưng khi ghép vào nó ghép cả sheet mới tạo và xoá luôn sheet đó, vậy phải sửa code thề nào để nó không xoá sheet đo và ko copy dữ liệu sheet đó vào sheet "TỔNG HỢP", tôi đặt tên sheet mới tạo là "PBQL". XIN CẢM ƠN BẠN
For Each sh In ThisWorkbook.Worksheets
' If sh.Name = "PBQL" Then
If sh.Name <> "TONG HOP" Then
sh.Range(sh.[A3], sh.[J65536].End(3)).Copy _
Sheets("TONG HOP").[A65536].End(3).Offset(1)
sh.Delete
End If

Thử sửa vầy xem thế nào:

If sh.Name <> "TONG HOP" And sh.Name <> "PBQL" Then
 
Upvote 0
Cám ơn bạn rất nhiều, cú pháp này mà tôi mò mãi không ra. cảm ơn bạn nhé, rất ok rồi
 
Upvote 0
Xin chào mọi người. Cho mình hỏi một chút. Mình tập viết một đoạn code. Nhưng không hiểu vì sao đã qua thời gian ấn định trước trong VBA mà excel không thay đổi giá tri ở ô A1 mà phải ấn Run thì mới chạy. Xin mọi người chỉ giúp.

Sub locksheet()
Application.ScreenUpdating = True
Dim mytime
Dim mytime1
Dim timenow
Sheets("dat").Activate
mytime = TimeValue("10:04:00 AM")
mytime1 = TimeValue("1:52:00 PM")
timenow = Time()
If timenow > mytime1 Then
Range("a1").Value = "50000"
End If
Application.ScreenUpdating = True
End Sub



Xin cảm ơn.
 
Upvote 0
VBA không chạy tư động khi viết chương trình.

Xin chào mọi người. Cho mình hỏi một chút. Mình tập viết một đoạn code. Nhưng không hiểu vì sao đã qua thời gian ấn định trước trong VBA mà excel không thay đổi giá tri ở ô A1 mà phải ấn Run thì mới chạy. Xin mọi người chỉ giúp.

Sub locksheet()
Application.ScreenUpdating = True
Dim mytime
Dim mytime1
Dim timenow
Sheets("dat").Activate
mytime = TimeValue("10:04:00 AM")
mytime1 = TimeValue("1:52:00 PM")
timenow = Time()
If timenow > mytime1 Then
Range("a1").Value = "50000"
End If
Application.ScreenUpdating = True
End Sub



Xin cảm ơn.
 
Upvote 0
Sub tudong()
.........
End Sub

Sub Auto_Open()
Application.OnTime TimeValue("16:00:00"), "tudong"
End Sub

Đúng 16g thì Sub tudong sẽ hoạt động
 
Lần chỉnh sửa cuối:
Upvote 0
Như vậy thì giả sử sau 16h chường trình excel mới bật lên thì auto_open có hoạt động được không.
 
Upvote 0
Code In bảng tính

Mã:
Private Sub CommandButton1_Click()If Opt1 Then
    Dim lngRow As Long
    lngRow = Application.WorksheetFunction.Count(ActiveSheet.Range("O:O"))
    With ActiveSheet.Range("A2:Q" & lngRow + 7)
        .Select
        .PrintOut Copies:=1, Preview:=True, Collate:=True
    End With
Else
    Dim lngRow As Long
    lngRow = Application.WorksheetFunction.Count(ActiveSheet.Range("U:U"))
    With ActiveSheet.Range("S2:X" & lngRow + 7)
        .Select
        .PrintOut Copies:=1, Preview:=True, Collate:=True
    End With
End If
End Sub


Private Sub CommandButton2_Click()
    Unload Me
End Sub

Mình sử dụng đoạn code trên cho vào form để thực hiện in bảng tính.
nhưng khi thực hiện lệnh thì vào đến trang preview là bị đứng, và vẫn hiện cái form in, ko thể nào tắt được.
Nhờ các bạn giúp mình xem đoạn code trên với.
Mình cảm ơn!
 
Upvote 0
.............................
Mình sử dụng đoạn code trên cho vào form để thực hiện in bảng tính.
nhưng khi thực hiện lệnh thì vào đến trang preview là bị đứng, và vẫn hiện cái form in, ko thể nào tắt được.
Nhờ các bạn giúp mình xem đoạn code trên với.
Mình cảm ơn!
Code có vẻ như không có lỗi gì, mình nghĩ là có thể do đang ở chế độ Print Preview nên bạn không tác động đến Form được. Bạn thử nhấn ESC để thoát khỏi chế độ Print Preview xem sao.

Mà hình như câu lệnh .Select ở trên hơi thừa hay sao ấy nhỉ?!
 
Upvote 0
Code có vẻ như không có lỗi gì, mình nghĩ là có thể do đang ở chế độ Print Preview nên bạn không tác động đến Form được. Bạn thử nhấn ESC để thoát khỏi chế độ Print Preview xem sao.

Mà hình như câu lệnh .Select ở trên hơi thừa hay sao ấy nhỉ?!

Với form trên khi vào đến cửa sổ preview thì bị đứng như hình mình đính kèm bên dưới.
Nhờ bạn nào biết nguyên nhân giúp mình khắc phục với.
Mình cảm ơn!
 

File đính kèm

  • Untitled.jpg
    Untitled.jpg
    88.3 KB · Đọc: 25
Upvote 0
Với form trên khi vào đến cửa sổ preview thì bị đứng như hình mình đính kèm bên dưới.
Nhờ bạn nào biết nguyên nhân giúp mình khắc phục với.
Mình cảm ơn!

Bạn gửi file lên đi, chứ nhìn hình không đoán được bệnh gì đâu.

Bạn có nhất thiết phải thấy Print Review trước khi in không?
 
Lần chỉnh sửa cuối:
Upvote 0
Mình đính kèm file bên dưới.
Ko biết lỗi gì nhờ các bạn giúp.

Nếu in thì không hiện Print Review:

Mã:
Private Sub CommandButton1_Click()
    Dim lngRow As Long
    If Opt1 Then
        lngRow = Application.WorksheetFunction.Count(ActiveSheet.Range("O:O"))
        With ActiveSheet.Range("A2:Q" & lngRow + 7)
            .Select
            .PrintOut Copies:=1, Collate:=True
        End With
    Else
        lngRow = Application.WorksheetFunction.Count(ActiveSheet.Range("U:U"))
        With ActiveSheet.Range("S2:X" & lngRow + 7)
            .Select
            .PrintOut Copies:=1, Collate:=True
        End With
    End If
    Unload Me
End Sub
 
Upvote 0
Nếu in thì không hiện Print Review:

Mã:
Private Sub CommandButton1_Click()
    Dim lngRow As Long
    If Opt1 Then
        lngRow = Application.WorksheetFunction.Count(ActiveSheet.Range("O:O"))
        With ActiveSheet.Range("A2:Q" & lngRow + 7)
            .Select
            .PrintOut Copies:=1, Collate:=True
        End With
    Else
        lngRow = Application.WorksheetFunction.Count(ActiveSheet.Range("U:U"))
        With ActiveSheet.Range("S2:X" & lngRow + 7)
            .Select
            .PrintOut Copies:=1, Collate:=True
        End With
    End If
    Unload Me
End Sub

mình muốn vào preview để có thể thay đổi máy in, hoặc 1 vài tùy chọn khác. vậy nếu ko vào preview thì có cách nào khác ko?
 
Upvote 0
cảm phiềm các ACE Sư huynh (tỉ), cho hỏi có cách nào cho phép ở môi trường VBE gõ được unicode tiếng việt ko???
 
Upvote 0
cảm phiềm các ACE Sư huynh (tỉ), cho hỏi có cách nào cho phép ở môi trường VBE gõ được unicode tiếng việt ko???

Có thể gõ tiếng Việt bằng font khác như VNI còn Unicode thì không thể gõ được. Vì vậy diễn đàn có rất nhiều bài dùng các hàm chuyển đổi font cho môi trường VBE.
 
Upvote 0
Có thể gõ tiếng Việt bằng font khác như VNI còn Unicode thì không thể gõ được. Vì vậy diễn đàn có rất nhiều bài dùng các hàm chuyển đổi font cho môi trường VBE.
Trước đây em có thấy bài của thành viên Siwtom , nhưng bây giờ tìm không ra!
Nhân đây cho em hỏi, các Thầy hoặc anh chị có code nào để sắp xếp lại code thụt ra , thụt vào không? em có tải File của tác giả Phan Ngoc Lan (!?) nhưng kg dùng được, Ai có cho em xin!
Em cảm ơn
 
Upvote 0
Trước đây em có thấy bài của thành viên Siwtom , nhưng bây giờ tìm không ra!
Nhân đây cho em hỏi, các Thầy hoặc anh chị có code nào để sắp xếp lại code thụt ra , thụt vào không? em có tải File của tác giả Phan Ngoc Lan (!?) nhưng kg dùng được, Ai có cho em xin!
Em cảm ơn

Tiện ích thì cũng tốt, nhưng theo tôi thì tôi có thói quen tự canh ( bằng phím Tab >> và Shift + Tab << ), khi làm như vậy mình dễ chỉnh sửa trong code hơn là mình làm một loạt rồi mới canh thụt ra thụt vào.
 
Upvote 0
Trước đây em có thấy bài của thành viên Siwtom , nhưng bây giờ tìm không ra!
Nhân đây cho em hỏi, các Thầy hoặc anh chị có code nào để sắp xếp lại code thụt ra , thụt vào không? em có tải File của tác giả Phan Ngoc Lan (!?) nhưng kg dùng được, Ai có cho em xin!
Em cảm ơn
tất cả các bài của siwtom đều gõ unicode trong môi trường VBA, một số bài có câu ghi chú nên dùng font gì để gõ: Courier New (Vietnamese), bảng mã Unicode tổ hợp

Thụt ra thụt vào:
tab 1 cái thì vào, enter 1 cái thì ngay hàng, back 1 cái thì thò ra
Hoặc cho hiện toolbar Edit rồi nhấn nút indent, outdent như word.
 
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