Sub Choi1()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
Sh.[A1] = 8
Next
End Sub
Sub Choi()
Dim i As Long
For i = 1 To Sheets.Count
Sheets(i).[A1] = 8
Next
End Sub
Về For.. Next thì các bạn khác đã sửa rồiEm định diễn đạt ô A1 trong tất cả các Sheet đều bằng 8. Nhưng chạy sai
PHP:Sub Choi() Dim Sh As Worksheet For Each Sh In ThisWorkbook.Worksheets [A1] = 8 Next End Sub
Xin hỏi cách sửa chỗ sai giúp em với ah.
Sub Choi()
Range("A1").Value = 8
Sheets.FillAcrossSheets Range("A1"), 2
End Sub
Sub Choi()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
Sh.Range("A:A").ClearContens
Sh.[A1] = 8
Next
End Sub
Viết sai chữ ClearContens ---> Phải là vầy : ClearContents (thiếu chữ t)Em muốn xóa cột A đi truớc khi thêm, nhưng cũng không chạy
PHP:Sub Choi() Dim Sh As Worksheet For Each Sh In ThisWorkbook.Worksheets Sh.Range("A:A").ClearContens Sh.[A1] = 8 Next End Sub
Xin hỏi phải sửa thế nào cho đúng bây giờ
Mời bạn qua TOPIC này xem nhé, nó sẽ giúp bạn có những cái nhìn cơ bản nhất về thuộc tính UsedRange trong VBA :Các anh, chị kiến thức về lập trình rất chuyên sâu, xin hãy lấy giùm em một vài ví dụ đơn giản để em hiểu về Used Range với ah.
Các anh, chị kiến thức về lập trình rất chuyên sâu, xin hãy lấy giùm em một vài ví dụ đơn giản để em hiểu về Used Range với ah.
Sub Test_UsedRange()
With ActiveSheet.UsedRange
.Select
MsgBox .Address
End With
End Sub
Sub Timhieu()
With Sheets("Sheet1")
.Move Before:=Sheets(1)
.Select
Sheets("Sheet2").[1:1].Copy.[A1]
End With
End Sub
Bạn cứ thí nghiệm, tự nhiên sẽ biết. Ví dụ thế này:
- Mở 1 file Excel mới
- Gõ 1 ít dữ liệu vào bảng tính
- Chạy code này
- Thêm bớt dữ liệu rồi chạy lại code để kiểm chứngPHP:Sub Test_UsedRange() With ActiveSheet.UsedRange .Select MsgBox .Address End With End Sub
Dịch tiếng Anh cũng hiểu mà: Used là đã dùng, UsedRange là 1 vùng hình chữ nhất "bao" toàn bộ các cell bạn đã sử dụng qua. Thế thôiTức nó là toàn bộ vùng có chứa dữ liệu trên màn hình Sheet đang chọn phải không ah.
?
Muốn biết "cái gì" được hay không, cứ thí nghiệm sẽ có câu trả lờiBác Ndu: Xin hãy giúp em một tình huống nữa bằng cách thay đổi ActiveSheet bằng đối tượng khác được không ah?
Chổ này Sheets("Sheet2").[1:1].Copy.[A1] dính 1 chùm sao mà chạyEm viết Code sau nó báo lỗi, tự nghiên cứu mãi không sửa được, lại xin nhờ các bác sửa dùm:
PHP:Sub Timhieu() With Sheets("Sheet1") .Move Before:=Sheets(1) .Select Sheets("Sheet2").[1:1].Copy.[A1] End With End Sub
Sub Test_UsedRange()
With ActiveSheet.UsedRange
.Select
.ColorIndex = 3
End With
End Sub
Sai dòng: .ColorIndex = 3Hôm nay phiền các bác nhiều quá, nhưng em thực sự rất thích học nó, em lại xin giúp sửa lại giúp cho
PHP:Sub Test_UsedRange() With ActiveSheet.UsedRange .Select .ColorIndex = 3 End With End Sub
Sao em không thấy vùng dữ liệu bôi màu đỏ nhỉ?
Dịch tiếng Anh cũng hiểu mà: Used là đã dùng, UsedRange là 1 vùng hình chữ nhất "bao" toàn bộ các cell bạn đã sử dụng qua. Thế thôi
Muốn biết "cái gì" được hay không, cứ thí nghiệm sẽ có câu trả lời
------------------
Chổ này Sheets("Sheet2").[1:1].Copy.[A1] dính 1 chùm sao mà chạy
Sửa lại Sheets("Sheet2").[1:1].Copy .[A1] (có dấu cách sau chữ copy)
Chổ này Sheets("Sheet2").[1:1].Copy.[A1] dính 1 chùm sao mà chạy
Sửa lại Sheets("Sheet2").[1:1].Copy .[A1] (có dấu cách sau chữ copy)
Sub Timhieu()
With Sheets("Sheet1")
.Move Before:=Sheets(1)
.Select
[A2].Copy. [A1]
End With
End Sub
Xem lại code:Bác Ndu siêu quá, nhưng tôi thấy trong cửa sổ Code bình thường nó tự tạo dấu cách cho mình nếu mình "lỡ quên", sao trường hợp này nó không hộ nhỉ?
Xin hỏi dấu cách trong trường hợp này có ý nghĩa là gì vậy?
Sub Timhieu()
With Sheets("Sheet1")
.Move Before:=Sheets(1)
.Select
Sheets("Sheet2").[1:1].Copy .[A1]
End With
End Sub
Sub Timhieu()
Sheets("Sheet1").Move Before:=Sheets(1)
Sheets(1).Select
Sheets("Sheet2").[1:1].Copy Sheets("Sheet1").[A1]
End Sub
Sub Timhieu()
Sheets("Sheet1").Move Before:=Sheets(1)
Sheets(1).Select
Sheets("Sheet2").[1:1].Copy
Sheets("Sheet1").[A1].PasteSpecial
End Sub