Dán mảng vào sheet

Liên hệ QC

chucuoi92

Thành viên lười biếng
Tham gia
11/9/09
Bài viết
850
Được thích
488
Giới tính
Nam
Nghề nghiệp
Chăn trâu
Chào các bác,chú và các anh chị .
Mình có một biến mảng được khai báo như thế này
VD: dim mang(1 to 12, 1 to 40, 1 to 2), có cách nào dán nhanh một mảng vào sheet như ví dụ dưới:
range("A1:B40") = mang(1)
 
sửa lại chúc là chạy đc , gán = kiểu này xuất dữ liệu ra lưới nhanh cực kỳ luôn !
lưu ý là số hàng và cột bằng nhau thì kết quả xuất ra chính xác hơn !

Dim mang(1 to 40, 1 to 2) As String
range("A1:B40") = mang

hoặc dữ liệu động
Dim mang() As String
ReDim mang(1 to 40, 1 to 2)
range("A1:B40") = mang
 
Upvote 0
Theo kiến thức của toi thì không làm được.
Nếu dùng code chữa cháy thì tôi làm như sau:
Đặt 1 hàm tên là Function CopMang(byVal mang, byVal so) As Variant
Bên trong hàm này viết code
dim mg(), L2 as long, L3 as long, H2 as long, H3 as long, i2 as long, i3 as long
L2 = LBound(mang, 2) : H2 = UBound(mang,2)
L3 = LBound(mang, 3) : H3 = UBound(mang,3)
Redim mg(L2 to H2, L3 to H3)
For i3 = L3 To H3
For i2 = L2 To H2
mg(i2, i3) = mang(so, i2,i3)
Next i2
Next i3
CopMang = mg

' code gán
range("A1:B40") = CopMang(mang,1)

Lưu ý: code chữa cháy có nghĩa là chỉnh sửa nhanh cho xong công việc. Điều kiện "chạy nhanh" hoàn toàn không lý tới.
 
Upvote 0
Chào các bác,chú và các anh chị .
Mình có một biến mảng được khai báo như thế này
VD: dim mang(1 to 12, 1 to 40, 1 to 2), có cách nào dán nhanh một mảng vào sheet như ví dụ dưới:
range("A1:B40") = mang(1)
Mảng 3 chiều mà dán xuống sheet thì dán bằng cách nào?
 
Upvote 0
Cám ơn các bác, các anh đã cho lời giải đáp thắc mắc.
 
Upvote 0
Thực ra ở trên là tôi mách cho cách chữa cháy. Muốn mảng 3D cũng được, nhưng phải thiết kế cấu trúc theo kiểu mảng (1 chiều) của mảng (2 chiều)

Dim mang(1 to 12)
Dim mg2C(1 to 40, 1 to 2)
mang(1) = mg2C
for i = 1 to 40
for j = 1 to 2
mang(1)(i, j) = i * j
Next j
Next i
range("A1:B40") = mang(1)
 
Upvote 0
Thực ra ở trên là tôi mách cho cách chữa cháy. Muốn mảng 3D cũng được, nhưng phải thiết kế cấu trúc theo kiểu mảng (1 chiều) của mảng (2 chiều)

Dim mang(1 to 12)
Dim mg2C(1 to 40, 1 to 2)
mang(1) = mg2C
for i = 1 to 40
for j = 1 to 2
mang(1)(i, j) = i * j
Next j
Next i
range("A1:B40") = mang(1)
Tuyêt vời!
Cám ơn anh đã khai sáng cho em.
 
Upvote 0
Web KT
Back
Top Bottom