Hỏi đáp về VBA (các vấn đề căn bản nhất) (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

havietchuong

Thành viên tiêu biểu
Tham gia
16/6/09
Bài viết
490
Được thích
570
Giới tính
Nam
Nghề nghiệp
Giáo viên tiểu học.
Tôi không biết đặt đặt câu hỏi này nơi nào cho đúng, xin gởi vào đây. Nếu có sai xin thông cảm cho người mới học VBA.
Trong 1 cửa sổ Module có thể ghi nhiều nhiều Macro và mỗi macro có thể ứng với 1 tổ hợp phím nào đó được không?
Tôi thử nhiều lần thì khi được khi không. Không biết nó thế nào? Trong tập tin sau có lỗi gì không trong cách ghi Macro? Cám ơn.
 

File đính kèm

Lần chỉnh sửa cuối:
Vba

Chào các anh, chị:
E mới tìm hiểu VBA trong Excel nhưng có đoạn code nhỏ sau mà k hiểu sai chỗ nào ( e gõ theo vd trên net )
(RowCount = Worksheets("Sheet1").Range("A1").CurrentRegion.Row.Count) cứ báo lỗi hoài
PHP:
Private Sub cmdOK_Click()
Dim RowCount As Long
RowCount = Worksheets("Sheet1").Range("A1").CurrentRegion.Row.Count
With Worksheets("Sheet1").Range("A1")
    .Offset(RowCount, 0).Value = Me.txtName.Value
    .Offset(roucount, 1).Value = Me.txtAge.Value
End With

End Sub
thanks.
 
Upvote 0
Đặt tiêu đề gì mà kỳ cục vậy?

Chào các anh, chị:
E mới tìm hiểu VBA trong Excel nhưng có đoạn code nhỏ sau mà k hiểu sai chỗ nào ( e gõ theo vd trên net )
(RowCount = Worksheets("Sheet1").Range("A1").CurrentRegion.Row.Count) cứ báo lỗi hoài
thanks.
Bạn sửa chỗ màu đỏ trên kia thành Rows xem sao.
 
Upvote 0
Chào các anh, chị:
E mới tìm hiểu VBA trong Excel nhưng có đoạn code nhỏ sau mà k hiểu sai chỗ nào ( e gõ theo vd trên net )
(RowCount = Worksheets("Sheet1").Range("A1").CurrentRegion.Row.Count) cứ báo lỗi hoài
PHP:
Private Sub cmdOK_Click()
Dim RowCount As Long
RowCount = Worksheets("Sheet1").Range("A1").CurrentRegion.Row.Count
With Worksheets("Sheet1").Range("A1")
.Offset(RowCount, 0).Value = Me.txtName.Value
.Offset(roucount, 1).Value = Me.txtAge.Value
End With
 
End Sub
thanks.
Có 2 lỗi:
1 - CurrentRegion.Row.Count sửa thành CurrentRegion.Rows.Count
2 - .Offset(roucount, 1) ==> quánh ....."trật lấc" tên biến
Thân
 
Upvote 0
Đây là lỗi gì?

Em dùng Office 2007 (bản Portable). Khi mở ra thì nó hiện thông báo này:
1524222.jpg

Em không biết lỗi gì. AC chỉ dùm em nhé!
 
Upvote 0
Sửa dùm code cho Combobox

Em có bài này nhưng không hiểu sao code sai ở chỗ nào mà vẫn chưa được.
Nó cứ báo lỗi:
PHP:
Private Sub Mak_Change()
    If Me.MaK <> "" Then
        Me.DiaChi = Me.MaK.Column(4)
    End If
End Sub
AC vào mục PHIẾU THU - CHI, và chọn thử Mã KH sẽ thấy báo lỗi trên.
AC vui lòng sửa dùm em!
 

File đính kèm

Upvote 0
Em có bài này nhưng không hiểu sao code sai ở chỗ nào mà vẫn chưa được.
Nó cứ báo lỗi:
PHP:
Private Sub Mak_Change()
If Me.MaK <> "" Then
Me.DiaChi = Me.MaK.Column(4)
End If
End Sub
AC vào mục PHIẾU THU - CHI, và chọn thử Mã KH sẽ thấy báo lỗi trên.
AC vui lòng sửa dùm em!
Sửa số 4 thành số 3 là được đó Ngọc. Vì thứ tự các cột của Combobox được đánh từ số 0 chứ không phải từ số 1.
 
Upvote 0
Chỉ dẫn lập trình Macro

Dear All,

Mình mới bắt đầu tập viết Macro cho Excel mong các bạn hướng dẫn mình. Yêu cầu như sau:

- VD: mình làm macro để copy công thức từ 1 o cho trước vào ô hiện hành. Nhưng mình không biết làm sao để xác định ô hiện hành như thế nào.

Sub Macro6()
'
' Macro6 Macro
'
' Keyboard Shortcut: Ctrl+d
'
Range("U8").Select
Selection.Copy
Range("U9").Select (nếu như vậy thì chỉ copy từ U8 sang U9/ Mình muốn copy từ U8 tới O hiện hành thì làm sao)
ActiveSheet.Paste
End Sub


Mong các bạn giúp đở
 
Upvote 0
Dear All,

Mình mới bắt đầu tập viết Macro cho Excel mong các bạn hướng dẫn mình. Yêu cầu như sau:

- VD: mình làm macro để copy công thức từ 1 o cho trước vào ô hiện hành. Nhưng mình không biết làm sao để xác định ô hiện hành như thế nào.

Sub Macro6()
'
' Macro6 Macro
'
' Keyboard Shortcut: Ctrl+d
'
Range("U8").Select
Selection.Copy
Range("U9").Select (nếu như vậy thì chỉ copy từ U8 sang U9/ Mình muốn copy từ U8 tới O hiện hành thì làm sao)
ActiveSheet.Paste
End Sub


Mong các bạn giúp đở
Thay cái Range("U9") thành ActiveCell nhé
Khi ấy code sẽ là:
PHP:
Sub Macro6()
'
' Macro6 Macro
'
' Keyboard Shortcut: Ctrl+d
'
    Range("U8").Select
    Selection.Copy
    ActiveCell.Select
    ActiveSheet.Paste
End Sub
Ngoài ra, có thể rút gọn (không cần Select) thành:
PHP:
Sub Macro6()
  Range("U8").Copy
  ActiveCell.PasteSpecial
End Sub
Hoặc gọn hơn:
PHP:
Sub Test()
  Range("U8").Copy ActiveCell
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Dear All,

Mình mới bắt đầu tập viết Macro cho Excel mong các bạn hướng dẫn mình. Yêu cầu như sau:

- VD: mình làm macro để copy công thức từ 1 o cho trước vào ô hiện hành. Nhưng mình không biết làm sao để xác định ô hiện hành như thế nào.

Sub Macro6()
'
' Macro6 Macro
'
' Keyboard Shortcut: Ctrl+d
'
Range("U8").Select
Selection.Copy
Range("U9").Select (nếu như vậy thì chỉ copy từ U8 sang U9/ Mình muốn copy từ U8 tới O hiện hành thì làm sao)
ActiveSheet.Paste
End Sub


Mong các bạn giúp đở
Bạn viết thế bày nó cũng chẳng cự nự gì đâu
Mã:
Public Sub Cop()
ActiveCell = [U8]
End Sub
Thân
 
Upvote 0
Upvote 0
Mấy anh chị cho em hỏi! Em mới tập tành ABC về VBA cho em hỏi, làm trong VBE có cách nào xem các thuộc tính của đối tượng ko vậy mấy anh chị?
Ví dụ
FONT: BOLD, COLORINDEX, ITALIC...
HAY LÀ BORDERS.LINESTYLE=XLTHICK, XLCONTINUOU, XLDASH,.XLDASH.......
ý em hỏi là làm sao khi mình gõ trong VBE khi mình gõ....LINESTYLE=... THÌ HIỆN RA DANH SÁCH CHO MÌNH ĐỂ MÌNH CHỌN.
Hix! Em mới học ko biết diễn đạt như vậy có đúng ko nữa! Nhờ anh chị em giúp dùm!
Thanks nhiều!
 
Upvote 0
Mấy anh chị cho em hỏi! Em mới tập tành ABC về VBA cho em hỏi, làm trong VBE có cách nào xem các thuộc tính của đối tượng ko vậy mấy anh chị?
Ví dụ
FONT: BOLD, COLORINDEX, ITALIC...
HAY LÀ BORDERS.LINESTYLE=XLTHICK, XLCONTINUOU, XLDASH,.XLDASH.......
ý em hỏi là làm sao khi mình gõ trong VBE khi mình gõ....LINESTYLE=... THÌ HIỆN RA DANH SÁCH CHO MÌNH ĐỂ MÌNH CHỌN.
Hix! Em mới học ko biết diễn đạt như vậy có đúng ko nữa! Nhờ anh chị em giúp dùm!
Thanks nhiều!
Ở cửa sổ VBE vào menu Tools | Options...
Hiện ra cửa sổ Option. Ở Tab Editor, đánh dấu chọn hết mấy cái mục có chữ Auto đầu tiên ở phần Code Settings
 
Upvote 0
Đặt tên cho Class module (VBA cho người mới)

em copy 1 code vào Class module mà ko biết chỗ nào để đặt tên cho Class module này, mong sự giúp đỡ của các anh chị trong diễn đàn

Chân thành cảm ơn!!!
 
Upvote 0
Em đã xem hình của anh, nhưng hình của em nó ko hiện phần bên tay trái của hình vẽ anh gửi, mà chỉ hiện khung có GENERAL.... thôi
 
Upvote 0
Xem nhanh Code của file excel do người khác lập trình (VBA cho người mới)

Em có tải mấy file của các anh chị trong diễn đàn, giờ em muốn xem nhanh code mà anh chị ấy viết trong excel thì mình làm như thế nào???
 
Upvote 0
Hỏi về VBA.

Thấy mấy bạn trên diễn đàn này xôn xao, chạy theo vba để lập trình. Bây giờ cho em chạy theo với, bắt đầu xuất phát theo bản năng, mình cũng không biết sẽ bắt đầu từ đâu và học bao lâu mới biết chút ít. Em có 1 bài thí dụ như vầy (file kèm theo). Vậy lập trình trong vba làm sao cho ô B2 giống kết quả ở cell b2. Cảm ơn
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom