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:
Bạn mô tả quá ít. Copy tất cả và dán nối vào sheet tương ứng, hay chỉ copy dòng có dữ liệu. Tốt nhât nên đưa dữ liệu thật vào và mô tả rõ thêm tí nữa. Copy rồi có xóa dư liệu trong sheet1 hay không?
coppy rồi dán sang sheets tương ứng ah. và không xóa sheets gốc bác ạh
 
Upvote 0
file quản lý phương tiện

Bạn mô tả quá ít. Copy tất cả và dán nối vào sheet tương ứng, hay chỉ copy dòng có dữ liệu. Tốt nhât nên đưa dữ liệu thật vào và mô tả rõ thêm tí nữa. Copy rồi có xóa dư liệu trong sheet1 hay không?
Theo yêu cầu của bác Em xin post file lên ah.
Em đang xây dựng file, em cũng không giỏi Excel lắm nên chắc file vẫn hơi rối,các pác thông cảm ah.
 
Lần chỉnh sửa cuối:
Upvote 0
Cho mình hỏi anh/chị có thể chia sẻ công thức macro tự chạy công thức excel không ạ ví dụ như khi mình tính toán cho ô a1 và a2 công thức ở ô b1 thì công thức sẽ tự động link xuống các ô b2, b3, b4 mà không cần kéo tay. Như ở file đính kèm ạ
 

File đính kèm

  • Chay Cong Thuc.xls
    13.5 KB · Đọc: 10
Upvote 0
Cho mình hỏi anh/chị có thể chia sẻ công thức macro tự chạy công thức excel không ạ ví dụ như khi mình tính toán cho ô a1 và a2 công thức ở ô b1 thì công thức sẽ tự động link xuống các ô b2, b3, b4 mà không cần kéo tay. Như ở file đính kèm ạ

Bạn dùng code này nha: khi bạn gõ số tại cột A, B, thì kết quả tự động ra cột C, không cần kéo tay nữa. (mà bạn đang đặt công thức tại cột C mà)

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rw As Long
If Not Intersect(Target, [A:B]) Is Nothing Then
    If Target.Columns.Count = 1 Then
        If Target.Rows.Count = 1 Then
            Rw = Target.Row
            Cells(Rw, 3).FormulaR1C1 = Cells(Rw - 1, 3).FormulaR1C1
        End If
    End If
End If
End Sub

file đính kèm.
 

File đính kèm

  • Chay Cong Thuc.xls
    32 KB · Đọc: 33
Lần chỉnh sửa cuối:
Upvote 0
Bạn dùng code này nha: khi bạn gõ số tại cột A, B, thì kết quả tự động ra cột C, không cần kéo tay nữa. (mà bạn đang đặt công thức tại cột C mà)

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rw As Long
If Not Intersect(Target, [A:B]) Is Nothing Then
    If Target.Columns.Count = 1 Then
        If Target.Rows.Count = 1 Then
            Rw = Target.Row
            Cells(Rw, 3).FormulaR1C1 = Cells(Rw - 1, 3).FormulaR1C1
        End If
    End If
End If
End Sub

file đính kèm.
Sửa code của chị XN lại xíu nha, tại đang thất nghiệp quá.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A:B]) Is Nothing Then
    If Target.Count = 1 Then [C1].Copy Cells(Target.Row, 3)
End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Nhưng cũng chợt nhận thấy, đấy là mình gõ các dòng liền nhau, và mình đặt ra tình huống là, khi gõ các dòng cách nhau và làm thế nào để công thức các dòng dưới sẽ giống như 1 ô công thức đầu tiên?

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rw As Long
    If Not Intersect(Target, [A:B]) Is Nothing Then
            If Target.Columns.Count = 1 Then
             If Target.Rows.Count = 1 Then
               Rw = Target.Row
                 Cells(Rw, 3).FormulaR1C1 = [C65000].End(xlUp).FormulaR1C1
        End If
            End If
              End If
End Sub

File đính kèm. Giả sử nhập vào cột A hoặc B của dòng bất kỳ, công thức sẽ giống như cột C1 (như trong file)
 

File đính kèm

  • Chay cong thuc 2.xls
    31 KB · Đọc: 14
Upvote 0
Nếu người ta copy dữ liệu (nhiều hơn 1 ô) từ nơi khác đến thì ... tèo!
 
Upvote 0
Nếu người ta copy dữ liệu (nhiều hơn 1 ô) từ nơi khác đến thì ... tèo!

Mỗi bài toán có nhiều tình huống khác nhau nên có lẽ chỉ đưa ra cái gần nhất với đề bài. Anh nhỉ?

(hic, sao em hoa mắt thế nàyyyyyyyyy)
 
Upvote 0
Mỗi bài toán có nhiều tình huống khác nhau nên có lẽ chỉ đưa ra cái gần nhất với đề bài. Anh nhỉ?

(hic, sao em hoa mắt thế nàyyyyyyyyy)

Nhưng tình huống này chắc chắn sẽ xảy ra nên ta phải chuẩn bị sẵn ngay từ đầu, mình thấy XN khá lắm nên đây chỉ là chiện nhỏ, đúng không?

Còn nữa, hai câu này:
If Target.Columns.Count = 1 Then
If Target.Rows.Count = 1 Then

sao không thay bằng If Target.Count = 1 then ... cho khỏe
 
Lần chỉnh sửa cuối:
Upvote 0
Nhưng tình huống này chắc chắn sẽ xảy ra nên ta phải chuẩn bị sẵn ngay từ đầu, mình thấy XN khá lắm nên đây chỉ là chiện nhỏ, đúng không?

Còn nữa, hai câu này:
If Target.Columns.Count = 1 Then
If Target.Rows.Count = 1 Then

sao không thay bằng If Target.Count = 1 then ... cho khỏe


Thú thật với anh là em mới học viết code mấy tháng nay, chứ trước kia chưa bao giờ em động đến code hay dùng code (lại còn nghĩ mình chẳng thể nào học được code) hic hic, quả thật là .....chậm tiến....trình độ em còn non và có những tình huống chưa lường trước hết được khi lỗi code hoặc các vấn đề khác trong 1 đề bài.

Có rất nhiều bài người khác giải vèo cái là xong, dễ òm...mà với em thì lâu lắc, mất thời gian hơn. hic hic.....
 
Lần chỉnh sửa cuối:
Upvote 0
Thú thật với anh là em mới học viết code mấy tháng nay, chứ trước kia chưa bao giờ em động đến code hay dùng code (lại còn nghĩ mình chẳng thể nào học được code) hic hic, quả thật là .....chậm tiến....trình độ em còn non và có những tình huống chưa lường trước hết được khi lỗi code hoặc các vấn đề khác trong 1 đề bài.

Có rất nhiều bài người khác giải vèo cái là xong, dễ òm...mà với em thì lâu lắc, mất thời gian hơn. hic hic.....
lại thêm mooth người bước vào con đường đau khổ.chúc mừng nha. cố gắng đi
 
Upvote 0
Bạn dùng code này nha: khi bạn gõ số tại cột A, B, thì kết quả tự động ra cột C, không cần kéo tay nữa. (mà bạn đang đặt công thức tại cột C mà)

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rw As Long
If Not Intersect(Target, [A:B]) Is Nothing Then
    If Target.Columns.Count = 1 Then
        If Target.Rows.Count = 1 Then
            Rw = Target.Row
            Cells(Rw, 3).FormulaR1C1 = Cells(Rw - 1, 3).FormulaR1C1
        End If
    End If
End If
End Sub

file đính kèm.
bài này chỉ cần dùng bản ghi tự động của macro là được mà. đâu cần phải mệt óc nghĩ ra code làm gì??? không biết Em nói có đúng không ah?
 
Upvote 0
Cho em hỏi em đã copy code vào khung chạy macro của excel bằng cách nhấn ALT + F11 và copy vào nhưng sau đó em trở lại khung chat của excel và vẫn không thấy code chạy là sao vậy ạ
 
Upvote 0
Cho em hỏi em đã copy code vào khung chạy macro của excel bằng cách nhấn ALT + F11 và copy vào nhưng sau đó em trở lại khung chat của excel và vẫn không thấy code chạy là sao vậy ạ
Bạn nhấn ALT+F8 xuất hiện hộp thoại, click vào tên code vừa copy và bấm run là chạy liền à.
 
Upvote 0
Diễn đàn giải thích giúp e đoạn code sau :
Chk = (InStr("><=", Left(FindStr, 1)) > 0)
 
Upvote 0
Diễn đàn giải thích giúp e đoạn code sau :
Chk = (InStr("><=", Left(FindStr, 1)) > 0)

Nhìn cái này quen quen, giống hàm Filter2DArray của Thầy NDU quá ta?

Biến Chk này có kiểu là Boolean, trả về True hoặc False

Hàm InStr(xxx) như hàm Find/ Search trong công thức Excel, nó tìm ra vị trí ký tự nó tìm thấy.

Với biến FindStr có kiểu String, là một chuỗi mà khi ở ký tự này nếu có 1 trong các ký tự > , < , = ở đầu chuỗi (hàm Left lấy ký tự đầu) thì cụm công thức (InStr("><=", Left(FindStr, 1)) > 0) sẽ trả về giá trị True, còn không tìm thấy sẽ trả về giá trị False.
 
Lần chỉnh sửa cuối:
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