cho 2 xin lệnh hoặc hàm ghép 5 dàn số tạo thành mức 0,1,2,3 với ạ

Liên hệ QC

luuquanghung91

Thành viên mới
Tham gia
25/6/21
Bài viết
9
Được thích
2
như tiêu đề, các bac pro cho e xin cách ghép các dàn số tạo mức như trong file. e càm ơn
 

File đính kèm

  • Book1.xlsx
    11.2 KB · Đọc: 92
bác cho e xin làm bằng mã code nữa đc k?
Thích thì chiều
Mã:
Sub ABC()
  Dim sArr(), Arr&(0 To 99), S, Res(), sCol&, i&, j&

  sArr = Sheets("Sheet1").Range("A2:G2").Value
  sCol = UBound(sArr, 2)
  ReDim Res(0 To sCol, 1 To 2)
  For j = 1 To sCol
    S = Split(sArr(1, j), ",")
    For i = 0 To UBound(S)
      Arr(CLng(S(i))) = Arr(CLng(S(i))) + 1
    Next i
  Next j
  For i = 0 To 99
    If Res(Arr(i), 2) = Empty Then
      Res(Arr(i), 1) = "Muc:  " & Arr(i)
      Res(Arr(i), 2) = Format(i, "00")
    Else
      Res(Arr(i), 2) = Res(Arr(i), 2) & "," & Format(i, "00")
    End If
  Next i
  Sheets("Sheet1").Range("E5").Resize(sCol + 1, 2) = Res
End Sub
 
Thích thì chiều
Mã:
Sub ABC()
  Dim sArr(), Arr&(0 To 99), S, Res(), sCol&, i&, j&

  sArr = Sheets("Sheet1").Range("A2:G2").Value
  sCol = UBound(sArr, 2)
  ReDim Res(0 To sCol, 1 To 2)
  For j = 1 To sCol
    S = Split(sArr(1, j), ",")
    For i = 0 To UBound(S)
      Arr(CLng(S(i))) = Arr(CLng(S(i))) + 1
    Next i
  Next j
  For i = 0 To 99
    If Res(Arr(i), 2) = Empty Then
      Res(Arr(i), 1) = "Muc:  " & Arr(i)
      Res(Arr(i), 2) = Format(i, "00")
    Else
      Res(Arr(i), 2) = Res(Arr(i), 2) & "," & Format(i, "00")
    End If
  Next i
  Sheets("Sheet1").Range("E5").Resize(sCol + 1, 2) = Res
End Sub
thak kiu bác ạ :D e mơi học
 
Nếu vẫn còn hứng thú với bài này
e dùng hàm =CONCATENATE nhưng ghép với nhau thì k bỏ đc những số trùng.
làm sao để ghép dàn 1 và dàn 2 để ra đc dàn 3
thì thử xem.
P/S: Code học mót trên diễn dàn, chế cháo lại cho hợp vói đề bài. chắc cũng còn nhiều thiếu sót. mong các anh chị em xem, bổ xung và hoàn chỉnh
 

File đính kèm

  • GHEP SO 2 DÀN.xlsm
    21.4 KB · Đọc: 84
Thích thì chiều
Mã:
Sub ABC()
  Dim sArr(), Arr&(0 To 99), S, Res(), sCol&, i&, j&

  sArr = Sheets("Sheet1").Range("A2:G2").Value
  sCol = UBound(sArr, 2)
  ReDim Res(0 To sCol, 1 To 2)
  For j = 1 To sCol
    S = Split(sArr(1, j), ",")
    For i = 0 To UBound(S)
      Arr(CLng(S(i))) = Arr(CLng(S(i))) + 1
    Next i
  Next j
  For i = 0 To 99
    If Res(Arr(i), 2) = Empty Then
      Res(Arr(i), 1) = "Muc:  " & Arr(i)
      Res(Arr(i), 2) = Format(i, "00")
    Else
      Res(Arr(i), 2) = Res(Arr(i), 2) & "," & Format(i, "00")
    End If
  Next i
  Sheets("Sheet1").Range("E5").Resize(sCol + 1, 2) = Res
End Sub
82CF26E7-473F-40DB-8013-9C62D9D0C8D2.jpeg66B0FE3F-0DCA-46AC-A871-A82614812BDD.jpeg
Em bị lỗi này là sao vậy bác. Hộ em với
 
VBA chạy trên file excel không chạy được trên nền file hình ảnh
 
Dạ ý em là muốn nhờ bác hộ e chỉnh lại mã code cho dòng mức và số cùng 1 cột ạ ( em bôi đỏ), của bác bây giờ đang là 2 cột riếng. hơi phiền bác thông cảm giúp em
 

File đính kèm

  • Chạm tổng tháng 6_2021 A1.xlsm
    63.6 KB · Đọc: 70
Dạ ý em là muốn nhờ bác hộ e chỉnh lại mã code cho dòng mức và số cùng 1 cột ạ ( em bôi đỏ), của bác bây giờ đang là 2 cột riếng. hơi phiền bác thông cảm giúp em
Chỉnh lại
Mã:
Sub ABC()
  Dim sArr(), Arr&(0 To 99), S, Res(), sCol&, i&, k&

  sArr = Sheets("CT7").Range("A8:G8").Value
  sCol = UBound(sArr, 2)
  ReDim Res(0 To (sCol + 1) * 2, 1 To 2)
  For k = 1 To sCol
    S = Split(sArr(1, k), ",")
    For i = 0 To UBound(S)
      Arr(CLng(S(i))) = Arr(CLng(S(i))) + 1
    Next i
  Next k
  For i = 0 To 99
    k = Arr(i) * 2
    Res(k, 2) = Res(k, 2) + 1
    If Res(k, 1) = Empty Then
      Res(k, 1) = "Muc:  " & Arr(i)
      Res(k + 1, 1) = Format(i, "00")
    Else
      Res(k + 1, 1) = Res(k + 1, 1) & "," & Format(i, "00")
    End If
  Next i
  For k = 0 To sCol * 2 Step 2
    If Res(k, 2) <> Empty Then
      Res(k, 1) = Res(k, 1) & " ( " & Res(k, 2) & " So)"
    End If
  Next k
  Sheets("CT7").Range("C9").Resize((sCol + 1) * 2) = Res
End Sub
 
Chỉnh lại
Mã:
Sub ABC()
  Dim sArr(), Arr&(0 To 99), S, Res(), sCol&, i&, k&

  sArr = Sheets("CT7").Range("A8:G8").Value
  sCol = UBound(sArr, 2)
  ReDim Res(0 To (sCol + 1) * 2, 1 To 2)
  For k = 1 To sCol
    S = Split(sArr(1, k), ",")
    For i = 0 To UBound(S)
      Arr(CLng(S(i))) = Arr(CLng(S(i))) + 1
    Next i
  Next k
  For i = 0 To 99
    k = Arr(i) * 2
    Res(k, 2) = Res(k, 2) + 1
    If Res(k, 1) = Empty Then
      Res(k, 1) = "Muc:  " & Arr(i)
      Res(k + 1, 1) = Format(i, "00")
    Else
      Res(k + 1, 1) = Res(k + 1, 1) & "," & Format(i, "00")
    End If
  Next i
  For k = 0 To sCol * 2 Step 2
    If Res(k, 2) <> Empty Then
      Res(k, 1) = Res(k, 1) & " ( " & Res(k, 2) & " So)"
    End If
  Next k
  Sheets("CT7").Range("C9").Resize((sCol + 1) * 2) = Res
End Sub
em cám ơn bác..........
 
Bác @HieuCD lập giúp em hàm để tách mức các cột số trong bảng này với.
 

File đính kèm

  • Tao muc tu cot.xlsx
    10.4 KB · Đọc: 54
Bác @HieuCD lập giúp em hàm để tách mức các cột số trong bảng này với.
Chạy sub . . .
Mã:
Sub ABC()
  Dim sArr(), Arr&(0 To 99), S, Res$(), sRow&, i&, r&

  sArr = Sheets("Sheet1").Range("B2:B11").Value
  sRow = UBound(sArr, 1)
  ReDim Res(0 To sRow, 1 To 1)
  For r = 1 To sRow
    S = Split(sArr(r, 1), ",")
    For i = 0 To UBound(S)
      If S(i) <> Empty Then Arr(CLng(S(i))) = Arr(CLng(S(i))) + 1
    Next i
  Next r
  For i = 0 To 99
    If Res(Arr(i), 1) = Empty Then
      Res(Arr(i), 1) = Format(i, "00")
    Else
      Res(Arr(i), 1) = Res(Arr(i), 1) & "," & Format(i, "00")
    End If
  Next i
  Sheets("Sheet1").Range("G1").Resize(sRow + 1, 1) = Res
End Sub
 
Web KT
Back
Top Bottom