Hỏi về VBA (1 người xem)

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

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

hvt268

Thành viên chính thức
Tham gia
27/7/14
Bài viết
74
Được thích
8
Đầu tiên xin gửi lời xin lỗi vì mình không nghĩ ra cách đặt câu hỏi như thế nào cả. Vấn đề của mình như sau, bữa trước các bạn trên diễn đàn giúp mình viết một đoạn mã như sau:

Sub PhanMon()
Dim SoTiet, Sang, chieu As Variant, i, j, k As Long
Union([D6:D35], [h6:h35]).ClearContents
SoTiet = [L5:R35].Value
Sang = [C6:D35].Value
chieu = [G6:H35].Value
For i = 2 To UBound(SoTiet)
If Not IsEmpty(SoTiet(i, 1)) Then
For j = 1 To UBound(Sang)
If SoTiet(i, 1) = Sang(j, 1) Then
For k = 2 To UBound(SoTiet, 2)
If SoTiet(i, k) > 0 Then
Sang(j, 2) = SoTiet(1, k)
SoTiet(i, k) = SoTiet(i, k) - 1
Exit For
End If
Next k
End If
Next j
'==========
For j = 1 To UBound(chieu)
If SoTiet(i, 1) = chieu(j, 1) Then
For k = 2 To UBound(SoTiet, 2)
If SoTiet(i, k) > 0 Then
chieu(j, 2) = SoTiet(1, k)
SoTiet(i, k) = SoTiet(i, k) - 1
Exit For
End If
Next k
End If
Next j
End If
Next i


[C6:D35].Value = Sang
[G6:H35].Value = chieu
End Sub

Bây giờ mình muốn cái dòng màu đỏ: SoTiet = [L5:R35].Value phần [L5:R35] thành [L5:R35]&[Y5:AD35]
Vậy mình phải viết như thế nào bằng ngôn ngữ vba để máy có thể hiểu được ý của mình
 
SoTiet = Union([L5:R35], [Y5:AD35]).Value

Không biết đặt tiêu đề là gì thì có thể đăng bài trong mục : Chuyên đề giải đáp các thắc mắc về Code VBA
 
Lần chỉnh sửa cuối:
Upvote 0
Bản chất của dòng lệnh
PHP:
SoTiet = [L5:R35].Value
là đem dữ liệu trong vùng từ [L5:R35] gán vô biến mảng đã khai báo;

Và như bạn viết sau đó, thì mong muốn của bạn là lấy vùng rọng/lớn hơn để gán vô biến mảng đó;

Cho nên tiêu đề có thể là:
"Sửa giúp câu lệnh để gán dữ liệu của vùng lớn hơn vô biến mảng"
 
Upvote 0

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

Back
Top Bottom