Gán gt vào Cell theo DK=VBA
Tôi đang làm file theo dõi bảo trì mà vướng chưa giải quyết, lùng bùng.
Gán ký tự "O" vào các cell trong sh theo dk sau:
- Ngày > ngày đầu và < ngày cuối
- Line = line (cho trước)
- Số hạng mục của line (cho trước).
- Những ngày là CN thì không làm, ngày hôm sau, lấy những hạng mục kế.
Tôi đang lùng bùng lúc nào nên skip, lúc nào không trong Code sau:
-------------------------------------------------
Sub BaoTri()
With Application
'.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
Dim i As Integer, j As Integer, k As Integer, t As Integer, x As Integer
Dim iDate As Date, jDate As Date
Dim days As Range, FDay As Range, LDay As Range
'Tao Application.WorksheetFunction - TuanVNI
Dim fn As WorksheetFunction
Set fn = Application.WorksheetFunction
S04.Select
Range(Cells(5, 4), Cells(500, 44)).ClearContents
'Xac dinh ngay dau
iDate = Cells(2, 1).Value
'xac dinh cot dau ' gan match ngay dau
Set FDay = Cells(2, 1)
t = fn.Match(FDay, Range("days"), 0) + 2
Set LDay = Cells(2, 2)
x = fn.Match(LDay, Range("days"), 0) + 2
j = 0
k = Cells(2, 3).Value 'so may sc cua line
For i = 1 To x - t + 1
'nho xu ly ngay dau la cn
For j = 0 To k - 1
'nen co gioi han cot va dong
'If Cells(4 + i, 3).Value <> "L1" Then
Cells(5 + k * (i - 1) + j, i + t).Value = "O"
Next j
Next i
bien:
With Application
'.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
-------------------------------------------------
Nhờ các bạn chỉ logich trong các tham số i,j,k,t. Các bạn xem file sau, sh PM-KQ là kết quả cần theo bài.
Cám ơn nhiều!
File này của thanhtri up mà tôi không làm được.
Tôi đang làm file theo dõi bảo trì mà vướng chưa giải quyết, lùng bùng.
Gán ký tự "O" vào các cell trong sh theo dk sau:
- Ngày > ngày đầu và < ngày cuối
- Line = line (cho trước)
- Số hạng mục của line (cho trước).
- Những ngày là CN thì không làm, ngày hôm sau, lấy những hạng mục kế.
Tôi đang lùng bùng lúc nào nên skip, lúc nào không trong Code sau:
-------------------------------------------------
Sub BaoTri()
With Application
'.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
Dim i As Integer, j As Integer, k As Integer, t As Integer, x As Integer
Dim iDate As Date, jDate As Date
Dim days As Range, FDay As Range, LDay As Range
'Tao Application.WorksheetFunction - TuanVNI
Dim fn As WorksheetFunction
Set fn = Application.WorksheetFunction
S04.Select
Range(Cells(5, 4), Cells(500, 44)).ClearContents
'Xac dinh ngay dau
iDate = Cells(2, 1).Value
'xac dinh cot dau ' gan match ngay dau
Set FDay = Cells(2, 1)
t = fn.Match(FDay, Range("days"), 0) + 2
Set LDay = Cells(2, 2)
x = fn.Match(LDay, Range("days"), 0) + 2
j = 0
k = Cells(2, 3).Value 'so may sc cua line
For i = 1 To x - t + 1
'nho xu ly ngay dau la cn
For j = 0 To k - 1
'nen co gioi han cot va dong
'If Cells(4 + i, 3).Value <> "L1" Then
Cells(5 + k * (i - 1) + j, i + t).Value = "O"
Next j
Next i
bien:
With Application
'.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
-------------------------------------------------
Nhờ các bạn chỉ logich trong các tham số i,j,k,t. Các bạn xem file sau, sh PM-KQ là kết quả cần theo bài.
Cám ơn nhiều!
File này của thanhtri up mà tôi không làm được.
File đính kèm
Chỉnh sửa lần cuối bởi điều hành viên: