Tìm khoảng thời gian

Liên hệ QC

Minh Đức 1309

Thành viên chính thức
Tham gia
23/11/17
Bài viết
64
Được thích
3
Giới tính
Nam
Em có vòng lặp như sau tìm ra khoảng ngày.Nhưng e muốn dữ liệu chỉ ở trong vùng quy định thì phải làm sao ạ
 

File đính kèm

Em có vòng lặp như sau tìm ra khoảng ngày.Nhưng e muốn dữ liệu chỉ ở trong vùng quy định thì phải làm sao ạ
Thử:
Mã:
Sub Button3_Click()
Dim sD As Date, eD As Date, i As Integer, j As Integer, Rng As Range, Cel As Range
sD = Sheet1.Range("D3").Value
eD = Sheet1.Range("D4").Value
i = eD - sD
Sheet1.Range("H9:K65535").ClearContents
Set Rng = Sheet1.Range("H9").Resize(Int(i / 4) + 1, 4)
For Each Cel In Rng
    j = j + 1
    Cel = sD + j - 1
    If Cel = eD Then Exit For
Next
End Sub
 

File đính kèm

Em có vòng lặp như sau tìm ra khoảng ngày.Nhưng e muốn dữ liệu chỉ ở trong vùng quy định thì phải làm sao ạ
Thử code này.
Mã:
Sub khoangngay()
Dim b As Range
Dim c As Range, a As Integer, d As Long
Dim sn As Integer
Dim i As Integer
Set b = Range("d3")
Set c = Range("d4")
sn = c - b + 1
Range("m9").Value = b
For i = 1 To sn
    d = d + 1
    If d = 5 Then d = 1: a = a + 1
     Range("g9").Offset(a, d) = b.Value + i - 1

Next i

End Sub
 
Em có vòng lặp như sau tìm ra khoảng ngày.Nhưng e muốn dữ liệu chỉ ở trong vùng quy định thì phải làm sao ạ
Dùng 2 vòng For
Mã:
Sub khoangngay()
  Dim i As Long, j As Long, fDay, eDay
  fDay = Range("d3").Value
  eDay = Range("d4").Value
  For i = 0 To eDay
      For j = 0 To 3
          Range("h9").Offset(i, j) = fDay
          If fDay = eDay Then Exit Sub
          fDay = fDay + 1
      Next j
  Next i
End Sub
 
Dùng 2 vòng For
Mã:
Sub khoangngay()
  Dim i As Long, j As Long, fDay, eDay
  fDay = Range("d3").Value
  eDay = Range("d4").Value
  For i = 0 To eDay
      For j = 0 To 3
          Range("h9").Offset(i, j) = fDay
          If fDay = eDay Then Exit Sub
          fDay = fDay + 1
      Next j
  Next i
End Sub
Sub khoangngay()
Dim i As Long, j As Long, fDay, eDay
fDay = Range("m6").Value
eDay = Range("m8").Value
For i = 0 To eDay
For j = 0 To 3
Range("r3").Offset(i, j) = "C:\Users\Administrator\Desktop\VBA 2019\FILE DU LIEU\" & fDay & ".xlsx"
If fDay = eDay Then Exit Sub
fDay = fDay + 1
Next j
Next i
Sheets("BIGDATA").Activate
Names.Add Name:="khoangngay", RefersTo:=Range("r3").CurrentRegion

End Sub
em sửa code như sau nhưng n không tự đặt name cho vùng mới in ra.Anh xem sai ở đâu giúp e với ạ
 
Sub khoangngay()
Dim i As Long, j As Long, fDay, eDay
fDay = Range("m6").Value
eDay = Range("m8").Value
For i = 0 To eDay
For j = 0 To 3
Range("r3").Offset(i, j) = "C:\Users\Administrator\Desktop\VBA 2019\FILE DU LIEU\" & fDay & ".xlsx"
If fDay = eDay Then Exit Sub
fDay = fDay + 1
Next j
Next i
Sheets("BIGDATA").Activate
Names.Add Name:="khoangngay", RefersTo:=Range("r3").CurrentRegion

End Sub
em sửa code như sau nhưng n không tự đặt name cho vùng mới in ra.Anh xem sai ở đâu giúp e với ạ
Mã:
Sub khoangngay()
  Dim i As Long, j As Long, fDay, eDay
  fDay = Range("m6").Value
  eDay = Range("m8").Value
  For i = 0 To eDay
    For j = 0 To 3
      Range("r3").Offset(i, j) = "C:\Users\Administrator\Desktop\VBA 2019\FILE DU LIEU\" & fDay & ".xlsx"
      If fDay = eDay Then GoTo Thoat
      fDay = fDay + 1
    Next j
  Next i
Thoat:
  Sheets("BIGDATA").Activate
  Names.Add Name:="khoangngay", RefersTo:=Range("r3").CurrentRegion
End Sub
 
Web KT

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

Back
Top Bottom