Merge ô theo điều kiện bằng VBA

Liên hệ QC

BuiQuangThuan

❆❆❆❆❆❆❆❆❆❆❆❆
Tham gia
17/12/10
Bài viết
2,418
Được thích
2,842
Giới tính
Nam
Chào các thầy cô.
Em đang có bài toán muốn nhờ các thầy cô giúp bằng VBA ( do trình độ có hạn)
Yêu cầu bài toán em để trong file.
Hi vọng các thầy giúp đỡ ạ
 

File đính kèm

  • KẾ HOẠCH SX.xlsm
    30.6 KB · Đọc: 21
Nhân tiện cho em hỏi ngoài lề xíu. khi em lưu file excell. Thấy file nào cũng có thêm cái phần đuôi .xls hoặc .xlsm . Trong khi các máy khác không có. Cái này khắc phục ở đâu thế ạ
 
Có thầy nào giúp em với ạ
 
Chào các thầy cô.
Em đang có bài toán muốn nhờ các thầy cô giúp bằng VBA ( do trình độ có hạn)
Yêu cầu bài toán em để trong file.
Hi vọng các thầy giúp đỡ ạ
Làm cho bạn dòng "SX", "KH", dòng kế hoạch không khớp với kết quả
Đúng ra bạn nên lập bảng dữ liệu để chạy code 1 lần ra kết quả, không cần phải nhập từng số
 

File đính kèm

  • KẾ HOẠCH SX.xlsm
    37.1 KB · Đọc: 15
Làm cho bạn dòng "SX", "KH", dòng kế hoạch không khớp với kết quả
Đúng ra bạn nên lập bảng dữ liệu để chạy code 1 lần ra kết quả, không cần phải nhập từng số
Cám ơn thầy nhiều nhiều ạ. Đã đúng ý của em rồi ạ.
Ban đầu e cũng định thế. Nhưng đặc thù do em không xác định được số liệu NVL đầu vào chính xác. Nên làm thủ công xíu cũng được.
 
Cám ơn thầy nhiều nhiều ạ. Đã đúng ý của em rồi ạ.
Ban đầu e cũng định thế. Nhưng đặc thù do em không xác định được số liệu NVL đầu vào chính xác. Nên làm thủ công xíu cũng được.
Format kiểu Center Across Selection có vẻ an toàn hơn và có thể không cần dùng Macro.
 
Bạn thử file này. Ô màu vàng là vị trí nhập tiếp theo, ô màu đỏ là ô nhập sai vị trí.
Cám ơn thầy ạ. Cái này cũng là 1 cách. Nhưng em lại chẳng biết sao nó lại ra được như thế. chắc em sẽ tìm hiểu thêm.
Làm cho bạn dòng "SX", "KH", dòng kế hoạch không khớp với kết quả
Đúng ra bạn nên lập bảng dữ liệu để chạy code 1 lần ra kết quả, không cần phải nhập từng số
Nhân tiện muốn nhờ 2 thầy tư vấn giúp em bài này nữa.
Hiện tại em có 2 file ( A và B) như đính kèm.
Em muốn link dữ liệu của 2 file cho nhau. Nhờ thầy viết giúp code để giảm thiểu việc link thủ công với ạ
 

File đính kèm

  • B.xlsb
    10.8 KB · Đọc: 3
  • A.xlsb
    10.6 KB · Đọc: 3
Làm cho bạn dòng "SX", "KH", dòng kế hoạch không khớp với kết quả
Đúng ra bạn nên lập bảng dữ liệu để chạy code 1 lần ra kết quả, không cần phải nhập từng số
Chào Thầy. Thầy cho em hỏi xíu. Nếu trường hợp em mã sản xuất của em có tốc độ khác nhau. tức là thay vì chia cố định cho 1200 ấy. mà em muốn chia cố định cho số khác. thì thêm code thế nào ạ
 
Số khác tùy thích hay có qui luật?
em gửi thầy lại cái file chuẩn em có sửa lại 1 chút. đối với cái máy KOA thì ổn rồi. nhưng cái máy Shishu thì do tốc độ khác nên em chưa biết xử lí thế nào với đoạn code của thầy. hôm trước em có nhờ thầy là con số cố định là 1200. giờ em muốn 1200 với KOA. còn 5100 với SHISHU thì thêm code thế nào ạ. cám ơn thầy nhiều
 

File đính kèm

  • Ke hoach san xuat.xlsb
    35.4 KB · Đọc: 4
em gửi thầy lại cái file chuẩn em có sửa lại 1 chút. đối với cái máy KOA thì ổn rồi. nhưng cái máy Shishu thì do tốc độ khác nên em chưa biết xử lí thế nào với đoạn code của thầy. hôm trước em có nhờ thầy là con số cố định là 1200. giờ em muốn 1200 với KOA. còn 5100 với SHISHU thì thêm code thế nào ạ. cám ơn thầy nhiều
Chỉnh lại code
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim iR As Long, sR As Long, i As Long, d As Long
  If Target.Rows.Count = 1 Then
    If Target.Column < 5 Then Exit Sub
    iR = Target.Row
    If iR < 6 Then Exit Sub
    If IsNumeric(Target(1, 1).Value) Then
      Target(1, 1).MergeArea.MergeCells = False
      If iR < 38 Then d = 1200 / 2 Else d = 5100 / 2
      sR = WorksheetFunction.RoundUp(Target(1, 1).Value / d, 0)
      If sR > 1 Then
        Target.Resize(, sR).MergeCells = True
        Target.Resize(, sR).HorizontalAlignment = xlCenter
      End If
    Else
      If Len(Target(1, 1).Value) = 0 Then Target(1, 1).MergeArea.MergeCells = False
    End If
  End If
End Sub
 

File đính kèm

  • Ke hoach san xuat.xlsb
    36.3 KB · Đọc: 4
Chỉnh lại code
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim iR As Long, sR As Long, i As Long, d As Long
  If Target.Rows.Count = 1 Then
    If Target.Column < 5 Then Exit Sub
    iR = Target.Row
    If iR < 6 Then Exit Sub
    If IsNumeric(Target(1, 1).Value) Then
      Target(1, 1).MergeArea.MergeCells = False
      If iR < 38 Then d = 1200 / 2 Else d = 5100 / 2
      sR = WorksheetFunction.RoundUp(Target(1, 1).Value / d, 0)
      If sR > 1 Then
        Target.Resize(, sR).MergeCells = True
        Target.Resize(, sR).HorizontalAlignment = xlCenter
      End If
    Else
      If Len(Target(1, 1).Value) = 0 Then Target(1, 1).MergeArea.MergeCells = False
    End If
  End If
End Sub
Cám ơn thầy nhiều nhiều ạ. nhờ thầy giúp em viết cái code cho việc links dữ liệu từ 2 file khác nhau ở #11 với ạ
 
Cám ơn thầy nhiều nhiều ạ. nhờ thầy giúp em viết cái code cho việc links dữ liệu từ 2 file khác nhau ở #11 với ạ
2 file phải cùng thư mục, khi mở file sẽ tự động lấy dữ liệu
Nếu 2 file cùng mở và nhập liệu, Phải nhấn biểu tượng chạy code update khi cần
 

File đính kèm

  • A.xlsb
    22 KB · Đọc: 7
  • B.xlsb
    21.9 KB · Đọc: 7
cám ơn thầy rất nhiều ạ
Bài đã được tự động gộp:

2 file phải cùng thư mục, khi mở file sẽ tự động lấy dữ liệu
Nếu 2 file cùng mở và nhập liệu, Phải nhấn biểu tượng chạy code update khi cần
cám ơn thầy rất nhiều ạ
 
Web KT
Back
Top Bottom