Hỏi về dấu := trong code ?

Liên hệ QC

TrungChinhs

Thành viên tích cực
Tham gia
18/2/08
Bài viết
1,475
Được thích
2,469
Nghề nghiệp
Công chức
Trong một số câu lệnh tôi thấy sử dụng dấu := như trong ví dụ dưới đây

Mã:
Sub Line()
    With Selection
        .Borders(11).LineStyle = 1
        .Borders(12).Weight = 1
        .BorderAround LineStyle[SIZE=3][B][COLOR=Red]:=[/COLOR][/B][/SIZE] 1
    End With
End Sub
Tôi đã viết thử .BorderAround LineStyle = 1 nhưng không được
Nhờ các bạn giải thích ý nghĩa của dấu := trong câu lệnh, trường hợp nào dùng dấu = trường hợp nào dùng dấu :=
Thanks !
 
Trong một số câu lệnh tôi thấy sử dụng dấu := như trong ví dụ dưới đây

Mã:
Sub Line()
    With Selection
        .Borders(11).LineStyle = 1
        .Borders(12).Weight = 1
        .BorderAround LineStyle[SIZE=3][B][COLOR=Red]:=[/COLOR][/B][/SIZE] 1
    End With
End Sub
Tôi đã viết thử .BorderAround LineStyle = 1 nhưng không được
Nhờ các bạn giải thích ý nghĩa của dấu := trong câu lệnh, trường hợp nào dùng dấu = trường hợp nào dùng dấu :=
Thanks !
Đó là quy định của code thôi anh à! Phải tuân thủ mà khỏi cần thắc mắc
Giống như phải viết Range("A1") có dấu nháy chứ không thể Range(A1)
Nếu anh không chắc chổ nào đó nên = hay := thì hãy bôi đen code rồi F1, sẽ có hướng dần + ví dụ cụ thể
 
Upvote 0
Trong một số câu lệnh tôi thấy sử dụng dấu := như trong ví dụ dưới đây

Mã:
Sub Line()
    With Selection
        .Borders(11).LineStyle = 1
        .Borders(12).Weight = 1
        .BorderAround LineStyle[SIZE=3][B][COLOR=Red]:=[/COLOR][/B][/SIZE] 1
    End With
End Sub
Tôi đã viết thử .BorderAround LineStyle = 1 nhưng không được
Nhờ các bạn giải thích ý nghĩa của dấu := trong câu lệnh, trường hợp nào dùng dấu = trường hợp nào dùng dấu :=
Thanks !
= là toán tử gán khi bạn gán 1 giá trị hoặc biểu thức tính toán cho 1 biến.
:= dùng để truyền tham số cho 1 hàm(thủ tục) 1 cách tường minh.
Ở trên thay vì := bạn có thể bỏ hẳn LineStyle:= đi mà thay vào là .BorderAround 1 thì nó vẫn ko vấn đề gì.
Khi truyền tham số cho 1 hàm(thủ tục) thì có 2 cách. Truyền tường minh và không tường minh. Truyền ko tường minh thì bạn chỉ cần truyền giá trị tương ứng với các biến của hàm đó với điều kiện phải đúng thứ tự như khi khai báo hàm. Truyền tường minh theo cú pháp <Tên tham số khi khai báo hàm>:=<Giá trị truyền vào>, cách truyền tường minh không cần theo thứ tự khi khai báo hàm.
Ví dụ tôi có 1 hàm như sau:
Mã:
Sub Test(a1 As Integer, a2 As String)
    MsgBox a1
    MsgBox a2
End Sub
Tôi có thể gọi theo các cách khác nhau như sau:
Mã:
' Không tường minh (Bắt buộc phải theo đúng thứ tự)
Test 10,"ABC"
' Tường minh cách 1(Theo đúng thứ tự)
Test a1:=10,a2:="ABC"
' Tường minh cách 1(Không cần theo đúng thứ tự)
Test a2:="ABC",a1:=10
Bạn thử lại các đoạn code trên xem thế nào nhé.
 
Upvote 0
Chưa chính xác.
Dấu := có tác dụng khi trong 1 hàm có nhiều tham số nhưng không bắt buộc (dạng optional), khi truyền vào ta không nhất thiết phải truyền hết các tham số, và cũng không cần truyền theo đúng thứ tự.
Ví dụ: Ham_ABC([thamso1],[thamso2],[thamso3],[thamso4],[thamso5])
khi đó ta có thể gọi như sau:
Ham_ABC(thamso1:=1,thamso3:=3,thamso5:=5)
Tức là phải chỉ đích danh là ta truyền tham số nào
Nếu truyền như sau:
Ham_ABC(1,3,5) thì sẽ trở thành
Ham_ABC(thamso1:=1,thamso2:=3,thamso3:=5)
Trong câu hỏi trên sở dĩ có thể thay
.BorderAround LineStyle:= 1
Thành
.BorderAround 1
Là vì mặc định LineStyle là tham số đầu tiên.
 
Upvote 0
Chưa chính xác.
Dấu := có tác dụng khi trong 1 hàm có nhiều tham số nhưng không bắt buộc (dạng optional), khi truyền vào ta không nhất thiết phải truyền hết các tham số, và cũng không cần truyền theo đúng thứ tự.
Ví dụ: Ham_ABC([thamso1],[thamso2],[thamso3],[thamso4],[thamso5])
khi đó ta có thể gọi như sau:
Ham_ABC(thamso1:=1,thamso3:=3,thamso5:=5)
Tức là phải chỉ đích danh là ta truyền tham số nào
Nếu truyền như sau:
Ham_ABC(1,3,5) thì sẽ trở thành
Ham_ABC(thamso1:=1,thamso2:=3,thamso3:=5)
Trong câu hỏi trên sở dĩ có thể thay
.BorderAround LineStyle:= 1
Thành
.BorderAround 1
Là vì mặc định LineStyle là tham số đầu tiên.
Bạn đọc kỹ lại xem chưa chính xác chỗ nào? Như bạn đưa ra chỉ là 1 trường hợp cụ thể thôi, bản chất thì nên tìm hiểu các phương pháp truyền tham số cho hàm số. Trong đó có nói đến truyền tham số tường minh và truyền tham số không tường minh thì sẽ chi tiết hơn.
 
Upvote 0
kỳ quặc thật, sao tôi lai k đoc đươc bai cua bạn nhỉ, bjờ mới thấy.
Lúc nãy tôi nói k cxác là cách jải thích của ndu cơ.
 
Upvote 0
kỳ quặc thật, sao tôi lai k đoc đươc bai cua bạn nhỉ, bjờ mới thấy.
Lúc nãy tôi nói k cxác là cách jải thích của ndu cơ.
Ôi trời... tôi chỉ nói theo cách của người mới tập tành! Muốn biết món nào là : còn món nào là := thì cứ bôi đen code, bấm F1... thế thôi...
Chứ nói thật, các bạn giải thích thế thì.. chuẩn theo kiến thức cơ bản... nhưng dám cá anh Trungchinh (và tôi) cũng chả hiểu gì
Mục đích cuối cùng của anh ấy là làm sao gõ đúng cơ mà! VBA Help đâu có thừa!
 
Upvote 0
Ôi. . . tôi chỉ nói theo cách của người mới tập tành! Muốn biết món nào là : còn món nào là := thì cứ bôi đen code, bấm F1... thế thôi...

NDU nói theo kiểu của anh thợ vườn, chưa bài bản/trường lớp như bọn này! Khà, . . khà, . . .

Có những thứ tưởng bình thường dùng riết theo thói quen, nhưng có ai hỏi sâu thêm tẹo thì lơ mơ ngay, kể cả những thứ thật cơ bản!
Nhưng khi đọc câu trả lời có bài bản mình rất mừng & mới thật được sáng ra vấn đề nhiều!

Rất cảm ơn các bạn rollover79 & hoa35ktxd

Chúc các bạn vui, khỏe & hạnh phúc!
 
Upvote 0
Web KT

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

Back
Top Bottom