Các câu hỏi về mảng trong VBA (Array)

  • Thread starter Thread starter viehoai
  • Ngày gửi Ngày gửi
Liên hệ QC

viehoai

Thành viên gắn bó
Tham gia
22/5/09
Bài viết
2,599
Được thích
2,908
Xin các anh chị giúp đỡ Code Gán các giá trị của một Range là các phần tử của Mãng
Ví dụ: Tôi có các giá trị của Range("A1:A10"). Tôi muốn viết code để gán giá trị của các cells từ A1:A10 là các phần tử của Mãng Arr chẳn hạn.
Xin cảm ơn các anh chị
 
Chỉ xét mảng Arr 1 dòng hoặc 1 cột
Mảng 1 chiều
InStr(1, "#" & Join(Arr, "#") & "#", "#" & BienX & "#") > 0
Mảng 2 chiều
InStr(1, "#" & Join(Application.Transpose(Arr), "#") & "#", "#" & BienX & "#") > 0
Mảng 1 chiều thì chỉ cần dùng hàm Application.Match
 
Upvote 0
Em chào anh/chị ạ.

Em là thành viên mới, em bây giờ mới tập tành về code, nên mạn phép lên đây nhờ anh/chị chỉ giáo em đôi chút ạ.
Em không biết nhấn vào đâu để viết câu hỏi mới, nên đành phải gửi qua hình thức trả lời bình luận của anh/chị trong topic :((
Hiện tại em có học trên mạng 1 dãy code "Gộp nhiều sheet excel vào chung 1 sheet", nhưng trong phần code này lại chỉ viết RangeAddress đối với các sheet có số cột và số dòng giống nhau, chứ không có code áp dụng đối với các sheet có số dòng khác nhau (2000 dòng; 3000 dòng hoặc 4000 dòng thì sao ạ?)
Anh/chị chỉ giúp em code đối với đề bài "Gộp nhiều sheet excel vào chung 1 sheet cùng form, số dòng khác nhau" với ạ. Em cảm ơn nhiều.

Bài viết đầu có hơi lủng củng, mong anh/chị thông cảm ạ.Capture.PNG
 
Upvote 0
Em chào anh/chị ạ.

Em là thành viên mới, em bây giờ mới tập tành về code, nên mạn phép lên đây nhờ anh/chị chỉ giáo em đôi chút ạ.
Em không biết nhấn vào đâu để viết câu hỏi mới, nên đành phải gửi qua hình thức trả lời bình luận của anh/chị trong topic :((
Hiện tại em có học trên mạng 1 dãy code "Gộp nhiều sheet excel vào chung 1 sheet", nhưng trong phần code này lại chỉ viết RangeAddress đối với các sheet có số cột và số dòng giống nhau, chứ không có code áp dụng đối với các sheet có số dòng khác nhau (2000 dòng; 3000 dòng hoặc 4000 dòng thì sao ạ?)
Anh/chị chỉ giúp em code đối với đề bài "Gộp nhiều sheet excel vào chung 1 sheet cùng form, số dòng khác nhau" với ạ. Em cảm ơn nhiều.

Bài viết đầu có hơi lủng củng, mong anh/chị thông cảm ạ.View attachment 212451
Khai báo địa chỉ lớn nhất như 10000 dòng
Select thêm điều kiện Where f1 is not null vào cuối
 
Upvote 0
Khai báo địa chỉ lớn nhất như 10000 dòng
Select thêm điều kiện Where f1 is not null vào cuối
Cho em hỏi, em viết như thế này đúng không ạ?

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sh As Worksheet
Dim I As Long, k As Long, CountFiles As Long, J As Long

SheetName = "Platium" & "$"
RangeAddress = "A12:AD1000" Where f1 is not null

Dim files As Variant
files = Application.GetOpenFilename(, , , , True)

If VarType(files) = vbBoolean Then Exit Sub

Set sh = Sheets("Sheet1")
 
Upvote 0
Cho em hỏi, em viết như thế này đúng không ạ?

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sh As Worksheet
Dim I As Long, k As Long, CountFiles As Long, J As Long

SheetName = "Platium" & "$"
RangeAddress = "A12:AD1000" Where f1 is not null

Dim files As Variant
files = Application.GetOpenFilename(, , , , True)

If VarType(files) = vbBoolean Then Exit Sub

Set sh = Sheets("Sheet1")
Thêm: & " Where f1 is not null" vào sau "]" của Set rst
 
Upvote 0
Thêm: & " Where f1 is not null" vào sau "]" của Set rst
A ơi. Xin lỗi cho em làm phiền chút ạ.

Bài trên em có hỏi về code VBA về "cách gộp nhiều sheet tách biệt vào chung 1 sheet duy nhất", đối với các file có nhiều sheetcó số dòng khác nhau ạ.

Em thấy trên mạng có code này, nhưng em thử đi thử lại không chạy được, không biết bị lỗi gì ạ???

Em có 3 file dữ liệu: AB,ABB và ABBB, và em muốn gộp dữ liệu của sheet name "Hoa" của 3 file đó vào 1 sheet "Master" của file Test.

Em gửi anh đính kèm file và code em chạy, anh có thể xem giúp em lỗi code ở đâu với ạ.

Em cảm ơn anh nhiều.Capture.PNG
 

File đính kèm

Upvote 0
Sau khi em tick 1 loạt Microsoft ActiveX Data Objects x.x Library

Vẫn hiện ra lỗi này ạ.
Bạn copy Code của ai thì phải Copy toàn bộ code hoặc tải file người đấy đăng. Không thì các hàm tự tạo trong code lấy đâu mà nó chạy được.
Không thì bạn học VBA ngay thôi
 
Upvote 0
Bạn Vào Tools , Vào References ... , Tìm Microsoft ActiveX Data Objects x.x Library đánh dấu
Bấm xong nó hiện ra ntn ạ.
1550725144843.png
1550725113040.png
Bài đã được tự động gộp:

Bạn copy Code của ai thì phải Copy toàn bộ code hoặc tải file người đấy đăng. Không thì các hàm tự tạo trong code lấy đâu mà nó chạy được.
Không thì bạn học VBA ngay thôi
Em copy toàn bộ code của ng đó rồi ạ. Nhưng không có file để tải nên em tự tạo file để áp dụng ấy ạ.
 
Upvote 0
Upvote 0
Xin chào các bạn,
OT có một vấn đề sau chưa biết cách xử lý, nhờ các bạn xem và giúp đỡ ạ.
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom