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:
Giải thích ý nghĩa code

Trong đoạn code sau, anh/chị giải thích dùm em ý nghĩa dòng code đánh in đậm nhé!
Mã:
Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Data")
iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
  [B]If Trim(Me.ComboBox1.Value) = "" Then[/B]
[B]  Me.ComboBox1.SetFocus[/B]
  MsgBox "Ma vat lieu khong duoc de trong ", vbCritical + vbOKOnly
  Exit Sub
End If
With ws
.Cells(iRow, 1) = Me.TextBox1
.Cells(iRow, 2).Value = Format(Me.TextBox2.Value, "DD/MM/YYYY")
.Cells(iRow, 3) = Me.ComboBox1
.Cells(iRow, 4) = Me.TextBox4
.Cells(iRow, 5) = Me.TextBox5
.Cells(iRow, 6) = Me.TextBox6
.Cells(iRow, 7) = Val(Format(Me.TextBox7, "0"))
.Cells(iRow, 8 + IIf(Me.ComboBox2 = "PN", 0, 2)).Value = Val(Format(Me.TextBox8, "0"))
.Cells(iRow, 9 + IIf(Me.ComboBox2 = "PN", 0, 2)).Value = Val(Format(Me.TextBox9, "0"))
End With
[B]For j = 1 To 9[/B]
[B]If j = 3 Then[/B]
[B]ComboBox1 = ""[/B]
[B]Else[/B]
[B]Me.Controls("TextBox" & j) = ""[/B]
[B]End If[/B]
[B]Next[/B]
[B]Me.TextBox1.SetFocus[/B]
End Sub
Cám ơn anh/chị nhiều!
 
Lần chỉnh sửa cuối:
Upvote 0
Xin cám ơn Ptm0412concogia đã hướng dẫn ! Tôi làm được rồi
Cho hỏi thêm 1 câu nữa nhé !Thí dụ như hàm sum() có từ 1,2,3,.. đối số trở lên.
Ví dụ : Sum(A1,A2,A3) hoặc sum(A1:A3) hay là sum(A1:A3,A5,A7:B10) máy đều tính được và cho kết quả! Nếu như mình viết hàm như vậy trong VBA có được không ? Nếu được thì xin chỉ cách làm ! Xin cám ơn !
 
Lần chỉnh sửa cuối:
Upvote 0
Cho hỏi thêm 1 câu nữa nhé !Thí dụ như hàm sum() có từ 1,2,3,.. đối số trở lên.
Ví dụ : Sum(A1,A2,A3) hoặc sum(A1:A3) hay là sum(A1:A3,A5,A7:B10) máy đều tính được và cho kết quả! Nếu như mình viết hàm như vậy trong VBA có được không ? Nếu được thì xin chỉ cách làm ! Xin cám ơn !

Hoàn toàn được, bạn à;
Bạn khai báo 1 biến kiểu đối tượng & nhốt nối các ô đó vô biến bằng fương thức Union(); Ví dụ:
PHP:
 Dim Rng As Range

 Set Rng = Union("A1:A3",[A5],"A7:B10"); Bước cuối là tính tổng thôi.

Thân ái!
 
Lần chỉnh sửa cuối:
Upvote 0
Cách viết hàm chọn nhiều đối số, với các kiểu dữ liệu khác nhau !
Xin chỉ thêm chút nữa nhé !
Mình viết hàm tổng quát luôn, để sử dụng bất kỳ ô nào đó, với dữ liệu bất kỳ thì có được không ạ!
1). Viết hàm TrungBinhMon(mon1,mon2,mon3,....monk) mà cột các môn này không liên tục thì phải viết như thế nào?
Ví dụ =TrungBinhMon(A1,A2,A5:A7,B3:B7)
2). Mặt khác mình có cách nào đếm được số ô của nó không =TrungBinhMon(A1,A2,A5:A7,B3:B7) có 10 ô chẳng hạn !
 
Lần chỉnh sửa cuối:
Upvote 0
Nhờ các mem giúp sửa đoạn code này

Tôi đang viết hàm riêng này mà không biết sai gì, khi chạy không ra kết quả. Các mem giúp tôi sửa với.
Private Function chieucaotrang(ByVal x As Integer) As Single
Dim n, d
Dim i, b, c As Integer
b = ActiveSheet.HPageBreaks(x).Location.Row
c = ActiveSheet.HPageBreaks(x + 1).Location.Row
For i = b To c
d = Rows(i).RowHeight
n = n + d
Next i
End Function
Cảm ơn trước.
 
Upvote 0
Bạn thử sửa như sau xem sao:

Mã:
Private Function chieucaotrang(ByVal x As Integer)
Dim A, B, I
A = 1
If x > 1 Then A = ActiveSheet.HPageBreaks(x - 1).Location.Row
B = ActiveSheet.HPageBreaks(x).Location.Row - 1
For I = A To B
chieucaotrang = chieucaotrang + ActiveSheet.Rows(I).RowHeight
Next I
End Function
 
Upvote 0
Giúp em giải lệnh vba

ace giai giup e bai nay trong access. e lam hoai khong dc
đề bài yêu cầu dùng hàm Docmd.applyfilter
dùng để lọc ký tự đầu tiên trong trường tendv
vd: Command lọc "c" thì các ký tự đầu tiên trong trường tendv chẳng hạn trong đề sẽ lọc ra "Cửa hàng số 01"
Command lọc "X" thì các ký tự đầu tiên trong trường tendv chẳng hạn trong đề sẽ lọc ra "Xí nghiệp 204"
 

File đính kèm

  • nguyensinh.rar
    26.1 KB · Đọc: 21
Lần chỉnh sửa cuối:
Upvote 0
Code tự động kẻ khung

Nhờ các Bạn viết cho đoạn code tự động kẻ khung như sau:
- Dò tìm các ô trong sheet1 có dữ liệu tới đâu thì cộng thêm một dòng trống rồi kẻ khung tới đó.
- Ba dòng đầu (tiêu đề) không kẻ.
- Nét xung quanh và nét đứng là nét ttrung bình còn nét ngang là nét mờ.
 
Upvote 0
Nhờ các Bạn viết cho đoạn code tự động kẻ khung như sau:
- Dò tìm các ô trong sheet1 có dữ liệu tới đâu thì cộng thêm một dòng trống rồi kẻ khung tới đó.
- Ba dòng đầu (tiêu đề) không kẻ.
- Nét xung quanh và nét đứng là nét ttrung bình còn nét ngang là nét mờ.
Bạn có thể dùng CF để thực hiện điều này mà không cần dùng đến VBA
 
Upvote 0
Bạn có thể dùng CF để thực hiện điều này mà không cần dùng đến VBA
Bạn có thể nói cụ thể hơn không? Tôi ngốc lắm!. Ý tôi muốn là lồng đoạn code này vào trứơc khi kết thúc một macro khác mà.
Với lại câu:
Dò tìm các ô trong sheet1 có dữ liệu tới đâu thì cộng thêm một dòng trống rồi kẻ khung tới đó.
Sửa lại thành:
Dò tìm các ô trong sheet1, cột A đến cột F có dữ liệu tới đâu thì cộng thêm một dòng trống rồi kẻ khung tới đó.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn có thể nói cụ thể hơn không? Tôi ngốc lắm!. Ý tôi muốn là lồng đoạn code này vào trứơc khi kết thúc một macro khác mà.
Với lại câu:
Dò tìm các ô trong sheet1 có dữ liệu tới đâu thì cộng thêm một dòng trống rồi kẻ khung tới đó.
Sửa lại thành:
Dò tìm các ô trong sheet1, cột A đến cột F có dữ liệu tới đâu thì cộng thêm một dòng trống rồi kẻ khung tới đó.
Bạn xem file đính kèm nhé (Dùng Conditional Formatting)
Hi vọng bạn tìm ra câu trả lời.
 

File đính kèm

  • CF.xls
    15.5 KB · Đọc: 28
Upvote 0
Giúp Sửa Code

Các Bạn Giúp Mình Sửa Code Này Với, Mình Mun Khi Bm Vào Nút “ThemDong” Thì Nó ChThêm M [FONT=&quot]ỗ[/FONT]i L [FONT=&quot]ầ[/FONT]n Bm Là1 Dòng Thôi.
Cảm ơn Các Bạn Nhiều
 

File đính kèm

  • ThemDongCoCongThuc.xls
    19.5 KB · Đọc: 17
Lần chỉnh sửa cuối:
Upvote 0
Các Bạn Giúp Mình Sửa Code Này Với, Mình Mun Khi Bm Vào Nút “ThemDong” Thì Nó ChThêm 1 Dòng Thôi.
Cảm ơn Các Bạn Nhiều
Bạn record lại macro với động tác copy và insert copied cells, dừng record là được cái code đó.
 
Upvote 0
Các Bạn Giúp Mình Sửa Code Này Với, Mình Mun Khi Bm Vào Nút “ThemDong” Thì Nó ChThêm M [FONT=&quot]ỗ[/FONT]i L [FONT=&quot]ầ[/FONT]n Bm Là1 Dòng Thôi.
Cảm ơn Các Bạn Nhiều
Đối với những công việc như thế này, theo tôi bạn dùng chức năng Record Macro, làm thủ công một lần để lấy code gán vào nút lệnh là được.
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
ace giai giup e bai nay. e lam hoai khong dc
đề bài yêu cầu dùng hàm Docmd.applyfilter
dùng để lọc ký tự đầu tiên trong trường tendv
vd: Command lọc "c" thì các ký tự đầu tiên trong trường tendv chẳng hạn trong đề sẽ lọc ra "Cửa hàng số 01"
Command lọc "X" thì các ký tự đầu tiên trong trường tendv chẳng hạn trong đề sẽ lọc ra "Xí nghiệp 204"

Bạn nhập Code cho nút lọc "C" như sau:

Mã:
Private Sub Command7_Click()
DoCmd.ApplyFilter , "tendv  like 'c*' "
End Sub
Tương tự cho nuts lọc "X"
 
Upvote 0
Chào cả nhà !!!!. Mình đang làm đề tài quản lý xếp lịch thời khóa biểu cho hệ trung cấp, mình có 1 trục trặc không giải quyết được cả nhà giúp mình nha. mình muốn tạo một command Button viết lệnh cho cột "D" của Sheet1 làm sao khi mình nhấp vào Button đó nếu như bất kỳ các cell nào trong cột "D" bị bỏ trống thì sẻ ẩn hàng tại cell bỏ trống đó ngay cả khi các ô khác có dữ liệu chỉ hiện các cell có giữ liệu. Cả nhà giúp mình nha!!. Thanks.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử với con này xem đúng ý chưa:

khi mình nhấp vào Button đó nếu như bất kỳ các cell nào trong cột "D" bị bỏ trống thì sẻ ẩn hàng tại cell bỏ trống đó chỉ hiện các cell có giữ liệu.

PHP:
Sub Macro1()    
  Columns("D:D").Select
  Selection.SpecialCells(xlCellTypeBlanks).Select
  Selection.EntireRow.Hidden = True
End Sub
 
Upvote 0
Thanks ChanhTQ@ nhưng mình làm không được nội dung trong cột D chỉ ẩn dòng đầu nhưng các dòng sau no ko ẩn được mình có gửi kem tập tin đó.
 

File đính kèm

  • Book1.xls
    17 KB · Đọc: 9
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