Hỏi nhanh - Đáp nhanh về macro (dành cho các thành viên mới học lập trình)

Liên hệ QC

tuananhya2

Thành viên mới
Tham gia
18/8/12
Bài viết
8
Được thích
0
Co ai chỉ dùm cách tạo pass marco với
 
cám ơn 2 anh, tôi bắt đầu dzọc vba gần năm rùi, mà nón nay đúng là khó nuốt quá. hồi trước tới giờ né nó luôn...hi,...hi. bi giờ thử học coi có làm nổi ko....còn khó quà thì thui...hi..hi
tôi có đọc một số bài của tác giả lê văn việt, nhưng càng đọc càng lùng bùng
cái gì mà dim rùi lại redim, rùi mảng một chiều 2 chiều.....
thử học xem có làm được ko, có gì nhờ các anh chỉ dạy.....
cám ơn các anh nhiều.

Với mảng 2 chiều, bạn cứ tưởng tượng nó là 1 vùng trên bảng tính là được rồi (vùng nhiều dòng, nhiều cột)
Tôi nghĩ cái khó đối với bạn là vụ Dim và ReDim, đúng không? Chẳng qua chỉ là việc khai báo kích thước của mảng thôi mà (dài bao nhiêu, rộng bao nhiêu...)
 
Upvote 0
cám ơn 2 anh, tôi bắt đầu dzọc vba gần năm rùi, mà nón nay đúng là khó nuốt quá. hồi trước tới giờ né nó luôn...hi,...hi. bi giờ thử học coi có làm nổi ko....còn khó quà thì thui...hi..hi
tôi có đọc một số bài của tác giả lê văn việt, nhưng càng đọc càng lùng bùng
cái gì mà dim rùi lại redim, rùi mảng một chiều 2 chiều.....
thử học xem có làm được ko, có gì nhờ các anh chỉ dạy.....
cám ơn các anh nhiều.
Thật ra nếu học phần mảng 1 chiều và 2 chiều chỉ cần 1 ngày là hiểu. Khó nuốt là lúc mình vận dụng vào bài thực tế. Mảng thật ra là những bảng tính ảo nằm trên bộ nhớ thôi. Cũng có cột và dòng. Muốn làm gì tại cột nào dòng nào thì gọi đúng phần tử đó giống như gọi 1 ô trên bảng tính thôi. Ví dụ mình có 1 mảng Arr = [B5:C10].value có nghĩa là mình có 1 mảng Arr gồm 6 dòng và 2 cột. Cứ cày thật sự trong 1 tuần là nhuần nhuyễn. Bảo đảm.
 
Upvote 0
Tiêu đề nút bấm lấy giá trị của ô dữ liệu

Em có file (đính kèm) muốn tạo 1 nút bấm có giá trị thay đổi tương ứng với giá trị của ô A1

Nhờ các bác, các cao thủ giúp cho.

AndOrNot
 

File đính kèm

  • Nut bam lay gia tri cua 1 o du lieu.xls
    13.5 KB · Đọc: 11
Upvote 0
Em có file (đính kèm) muốn tạo 1 nút bấm có giá trị thay đổi tương ứng với giá trị của ô A1

Nhờ các bác, các cao thủ giúp cho.

AndOrNot

Code vầy là được rồi
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" Then Buttons("Button 1").Text = Target.Value
End Sub
 
Upvote 0
Upvote 0
Upvote 0
Ôi... mấy vụ kế toán, xuất, nhập, tồn gì gì đó đừng kêu tôi... tôi chẳng biết gì đâu

Bác ndu96081631 ơi, vấn đề không phải là kế toán hay nhập xuất tồn gì cả, mấu chốt của vấn đề là em muốn nhờ bác xem công thức và có hướng tối ưu để nó chạy nhanh hơn. Bác thử xem giúp em đi.
 
Upvote 0
Xin Hướng dẫn cách insert 1 số n dòng chỉ bằng click chuột

vì không rành VBA lắm nên xin mọi người giúp em vụ này với ạ!
em muốn insert một số n dòng ( n là giá trị của 1 ô trong bảng tính, và tất nhiên n là số nguyên bất kì > 0)^^!
cảm ơn mọi người rất nhiều!
thanks for watching!
 
Upvote 0
vì không rành VBA lắm nên xin mọi người giúp em vụ này với ạ!
em muốn insert một số n dòng ( n là giá trị của 1 ô trong bảng tính, và tất nhiên n là số nguyên bất kì > 0)^^!
cảm ơn mọi người rất nhiều!
thanks for watching!
Record Macro là có code ngay mà :
[GPECODE=vb]
Sub Macro1()
Dim rw As Long
rw = Application.InputBox("Input the Number of rows to insert ", "record Macro ", , , , , , 1)
ir = [A65536].End(3).Row - 1
Rows("" & ir & ":" & rw & "").Insert xlDown, 0
Application.CutCopyMode = 0
End Sub
[/GPECODE]
 
Upvote 0
Các anh cho hỏi trong VBA , em muốn khai báo một mảng là hằng số thì cú pháp như thế nào :

em thử : Const abc as string = Array ( "a","b","c" ) mà không được
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Các anh cho hỏi trong VBA , em muốn khai báo một mảng là hằng số thì cú pháp như thế nào :

em thử : Const abc as string = Array ( "a","b","c" ) mà không được

Hổng có vụ này đâu, khỏi suy nghĩ. Mảng là mảng còn hằng số là hằng số
 
Upvote 0
Hổng có vụ này đâu, khỏi suy nghĩ. Mảng là mảng còn hằng số là hằng số

Ác nhj, giả sử em có một mảng Arr() dữ liệu , bây giờ muốn sửa dụng được mảng này trong tất cả các sub thì hổng lẽ phải chơi kiểu này ah :
PHP:
Public Arr()
Sub Const_Arr()
            Arr = Array("ab",....)
end sub
-------------------------------------
Sub Main()
     Call Const_Arr
......................................
end sub

--> Nếu gặp trường hợp như em : anh sẽ giải quyết thế nào ! chia sẻ với em với }}}}}
 
Upvote 0
Ác nhj, giả sử em có một mảng Arr() dữ liệu , bây giờ muốn sửa dụng được mảng này trong tất cả các sub thì hổng lẽ phải chơi kiểu này ah :
PHP:
Public Arr()
Sub Const_Arr()
            Arr = Array("ab",....)
end sub
-------------------------------------
Sub Main()
     Call Const_Arr
......................................
end sub

--> Nếu gặp trường hợp như em : anh sẽ giải quyết thế nào ! chia sẻ với em với }}}}}
Thì đương nhiên là vậy rồi
- Khai báo arr dạng Public
- Khi chạy code, để khỏi phải mất công gọi đi gọi lại nhiều lần, ta sửa thằng Sub Const_Arr() thành Sub Auto_Open() là được rồi (chạy 1 lần duy nhất khi khởi động file thôi)
 
Upvote 0
Thì đương nhiên là vậy rồi
- Khai báo arr dạng Public
- Khi chạy code, để khỏi phải mất công gọi đi gọi lại nhiều lần, ta sửa thằng Sub Const_Arr() thành Sub Auto_Open() là được rồi (chạy 1 lần duy nhất khi khởi động file thôi)
ok , em đã hiểu thanks anh nhiều
 
Upvote 0
nhờ các anh chi cho xin đoạn code tìm dòng trống đâu tiên
vi du A1--->A6 có số liệu
A7-->A8 trống
A9---> lại tiếp tục có số liệu
tôi muốn tìm A7.
cám ơn mọi người
 
Upvote 0
nhờ các anh chi cho xin đoạn code tìm dòng trống đâu tiên
vi du A1--->A6 có số liệu
A7-->A8 trống
A9---> lại tiếp tục có số liệu
tôi muốn tìm A7.
cám ơn mọi người

Ta có thể thí nghiệm dùng SpecialCells
Mã:
Sub Test()
  Dim rng As Range
  On Error Resume Next
  Set rng = Range("A:A").SpecialCells(4)
  If Not rng Is Nothing Then MsgBox rng.Areas(1).Cells(1, 1).Address
End Sub
 
Upvote 0
nhờ các anh chi cho xin đoạn code tìm dòng trống đâu tiên
vi du A1--->A6 có số liệu
A7-->A8 trống
A9---> lại tiếp tục có số liệu
tôi muốn tìm A7.
cám ơn mọi người
cho nó cái vòng lập để dò tìm , khi dò ra cho hiện thi tên ô và cho nó cái exit sub kế tiếp (vì đã xong việc) nữa là đc thôi
 
Upvote 0
nhờ các anh chi cho xin đoạn code tìm dòng trống đâu tiên
vi du A1--->A6 có số liệu
A7-->A8 trống
A9---> lại tiếp tục có số liệu
tôi muốn tìm A7.
cám ơn mọi người
Bạn thử dòng lệnh này
Mã:
[A:A].Find("", [A65536], , 1, , 1).Activate
 
Upvote 0
Ta có thể thí nghiệm dùng SpecialCells
Mã:
Sub Test()
  Dim rng As Range
  On Error Resume Next
  Set rng = Range("A:A").SpecialCells(4)
  If Not rng Is Nothing Then MsgBox rng.Areas(1).Cells(1, 1).Address
End Sub

tks anh, đúng rồi, anh cho hỏi thêm, các con số (4), làm sao mình biết được vậy anh?
nếu tôi đổi thành
Set rng = Range("A:A").SpecialCells(3)
rng.Select
thì nó lại chọn các vùng có số liệu.
hay như tôi thấy mọi người hay dùng advance filter thì ghi là
AdvancedFilter 2, , [range], 1
nếu mình ghi record macro thì nó dài ngoằn, nên ko biết làm sao biết các con số đó

tks
 
Upvote 0
Web KT

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

Back
Top Bottom