Bạn không mô tả chi tiết thì không ai hiểu nhéMong các cao thủ nghiên cứu giúp làm thế nào để có thể chuyển đổi dữ liệu tự động từ dạng cột khách sạn dạng hàng tự động như thế này.
Có vẻ như các bác ấy đang giảm về 0!Mong các bác giảm thời gian giúp em với nhé.
Bạn không mô tả chi tiết thì không ai hiểu nhé
Có vẻ như các bác à
Xin lỗi các bác mấy hôm rồi em bận quá ko vào diễn đàn được. Nay mới lại có thời gian vào mong các bác thông cảm và hướng dẫn giúp em với. Cảm ơn ahBạn không mô tả chi tiết thì không ai hiểu nhé
Có vẻ như các bác ấy đang giảm về 0!
Bạn không mô tả chi tiết thì không ai hiểu nhé
Có vẻ như các bác ấy đang giảm về 0! Bác giúp em với bác nhé
Option Explicit
Sub CT()
Dim lr&, i&, j&, k&, rng, res()
lr = Cells(Rows.Count, "H").End(xlUp).Row
rng = Range("A7:H" & lr).Value
ReDim res(1 To UBound(rng), 1 To 4)
Do
i = i + 1
If IsNumeric(rng(i, 1)) Then
j = 0: k = k + 1: res(k, 1) = i
Do
j = j + 1
If rng(i + j, 4) = Range("J6").Value Then res(k, 2) = i + j
If rng(i + j, 4) = Range("K6").Value Then res(k, 3) = i + j
If rng(i + j, 4) = Range("L6").Value Then res(k, 4) = i + j
Loop Until i + j >= UBound(rng) Or IsNumeric(rng(i + j, 1))
End If
Loop Until i >= UBound(rng)
Range("J7:L10000").ClearContents
For i = 1 To UBound(res)
If Not IsEmpty(res(i, 2)) Then Cells(res(i, 1) + 6, "J").Formula = "=H" & res(i, 2) + 6
If Not IsEmpty(res(i, 3)) Then Cells(res(i, 1) + 6, "K").Formula = "=H" & res(i, 3) + 6
If Not IsEmpty(res(i, 4)) Then Cells(res(i, 1) + 6, "L").Formula = "=H" & res(i, 4) + 6
Next
End Sub
Chạy thử đoạn mã này nhé
PHP:Clear option option CT phụ() Làm mờ lr&, i&, j&, k&, rng, res() lr = Cells(Rows.Count, "H").End(xlUp).Row rng = Pham vi("A7:H" & lr).Giá trị ReDim res(1 Đến UBound(rng), 1 Đến 4) làm tôi = tôi + 1 If IsNumeric(rng(i, 1)) Thì j = 0: k = k + 1: res(k, 1) = i làm j = j + 1 If rng(i + j, 4) = Pham vi("J6"). The value Thì res(k, 2) = i + j If rng(i + j, 4) = Pham vi("K6"). The value Thì res(k, 3) = i + j If rng(i + j, 4) = Pham vi("L6"). The value Thì res(k, 4) = i + j Vòng lặp Cho đến khi i + j >= UBound(rng) Or IsNumeric(rng(i + j, 1)) end if Vòng lặp cho đến khi i >= UBound(rng) Phạm vi("J7:L10000").ClearContents Đối với i = 1 Đến UBound(res) If Not IsEmpty(res(i, 2)) Then Cells(res(i, 1) + 6, "J").Formula = "=H" & res(i, 2) + 6 If Not IsEmpty(res(i, 3)) Then Cells(res(i, 1) + 6, "K").Formula = "=H" & res(i, 3) + 6 If Not IsEmpty(res(i, 4)) Then Cells(res(i, 1) + 6, "L").Formula = "=H" & res(i, 4) + 6 Kế tiếp kết thúc ph [/QUOTE]
Anh ơi sao em Alt+F11, copy mã vào, nhấn nút chạy mà nó không chạy cứ đòi nhập tên macro là sao anh nhỉ?Run try this code nhé
PHP:Tùy chọn rõ ràng CT phụ() Làm mờ lr&, i&, j&, k&, rng, res() lr = Cells(Rows.Count, "H").End(xlUp).Row rng = Phạm vi("A7:H" & lr).Giá trị ReDim res(1 Đến UBound(rng), 1 Đến 4) LÀM tôi = tôi + 1 Nếu IsNumeric(rng(i, 1)) Thì j = 0: k = k + 1: res(k, 1) = i LÀM j = j + 1 Nếu rng(i + j, 4) = Phạm vi("J6"). Giá trị Thì res(k, 2) = i + j Nếu rng(i + j, 4) = Phạm vi("K6"). Giá trị Thì res(k, 3) = i + j Nếu rng(i + j, 4) = Phạm vi("L6"). Giá trị Thì res(k, 4) = i + j Vòng lặp Cho đến khi i + j >= UBound(rng) Or IsNumeric(rng(i + j, 1)) kết thúc nếu Vòng lặp cho đến khi i >= UBound(rng) Phạm vi("J7:L10000").ClearContents Đối với i = 1 Đến UBound(res) If Not IsEmpty(res(i, 2)) Then Cells(res(i, 1) + 6, "J").Formula = "=H" & res(i, 2) + 6 If Not IsEmpty(res(i, 3)) Then Cells(res(i, 1) + 6, "K").Formula = "=H" & res(i, 3) + 6 If Not IsEmpty(res(i, 4)) Then Cells(res(i, 1) + 6, "L").Formula = "=H" & res(i, 4) + 6 Kế tiếp kết thúc phụ
Anh ơi em copy thiếu. Em chạy được rồi. Cảm ơn anh nhiều nhé. Làm thế nào để giỏi được như anh anh nhỉ?Anh ơi sao em Alt+F11 copy code vào nhấn nút chạy mà nó không chạy yêu cầu macro tên là sao anh nhỉ?
AnhAnh ơi sao em Alt+F11 copy code vào nhấn nút chạy mà nó không chạy yêu cầu macro tên là sao anh nhỉ?
Bài đã được tự động gộp:
Anh ơi em chép thiếu. Em đã chạy được rồi. Cảm ơn anh nhiều nhé. Làm thế nào để được giỏi như anh anh nhỉ?
Anh ơi các cột VL, NC, M là kết quả từ mã đó ah. Nó lấy kết quả dựa vào sự tiềm kiếm giá trị ở cột Thành tiền theo điều kiện tìm kiếm ở Z đấy ah.Các cột bên phải, bạn chưa xác định cột nào là kết quả từ mã.
Bạn xóa các cột không dùng được, điền các kết quả muốn có vào tay (1 vài dòng là OK)
em xin gửi lại file. Sau khi ẩn đi những cột ko cần thiếtAnh ơi các cột VL, NC, M là kết quả từ mã đó ah. Nó lấy kết quả dựa vào sự tìm kiếm giá trị tiềm ẩn ở cột Thành tiền theo điều kiện tìm kiếm ở Z đấy ah.
File này là nâng cao từ file Mấy hôm trước em nhờ anh giúp đấy anh.Anh ơi các cột VL, NC, M là kết quả từ mã đó ah. Nó lấy kết quả dựa vào sự tìm kiếm giá trị tiềm ẩn ở cột Thành tiền theo điều kiện tìm kiếm ở Z đấy ah.
Bài đã được tự động gộp:
em xin gửi lại file. Sau khi ẩn các cột không cần thiết
AnhAnh ơi các cột VL, NC, M là kết quả từ mã đó ah. Nó lấy kết quả dựa vào sự tiềm kiếm giá trị ở cột Thành tiền theo điều kiện tìm kiếm ở Z đấy ah.
Bài đã được tự động gộp:
em xin gửi lại file. Sau khi ẩn đi những cột ko cần thiết
Bài đã được tự động gộp:
File này là nâng cao từ file Mấy hôm trước em nhờ anh giúp đấy anh.
Các anh trong diễn đàn GPE có rảnh cùng chung tay giúp em với ah.Anh
bebo021999 bớt chút thời gian nghiên cứu giúp em với anh nhé. Em cảm ơn anh
Em viết nhầm là cột L ah. Nó là những cột thành tiền ấy ahKhông phải không ai muốn giúp mà có lẽ file nhìn quá khiếp hãi. Do đó, rất khó cho người xem.
Nội 3 cột này đã đá bôm bốp.
Muốn nhận được trợ giúp thì bản thân phải trau chuốt cho yêu cầu của mình. Nên có thêm hình ảnh minh họa cho sản phẩm, không phải ai cũng rảnh mà tải file xuống đâu.
Kiểm tra lại . .Ý của em là muốn đưa các cột thành tiền (Vật liệu, nhân công, máy thi công) được tổng cộng tại các cột K, M, O, Q sang hàng ngang tương ứng với cột VL, NC, M dựa vào điều kiện ở cột Z (Điều kiện này có được dựa vào cột C và Cột F). Mong các bác bớt chút thời gian xử lý giúp em với.
Bài đã được tự động gộp:
Em viết nhầm là cột L ah. Nó là những cột thành tiền ấy ah
Bài đã được tự động gộp:
Em xin up lại file ah.
Sub XYZ()
Dim arr(), a(), res(), sRow&, i&, r&, j&, c&, dj&, tmp$
With Sheets("5.DGCT")
arr = .Range("C8:Q" & .Cells(Rows.Count, "F").End(xlUp).Row).Value
End With
sRow = UBound(arr)
ReDim a(1 To sRow, 1 To 4)
res = Array(a, a, a, a)
On Error Resume Next
For i = 1 To sRow
dj = 0
tmp = Replace(arr(i, 4), " ", "")
If arr(i, 1) <> Empty Then
r = i
ElseIf InStr(1, tmp, "A-") = 1 Then
dj = 1
ElseIf arr(i, 5) Like "công" Then
dj = 2
ElseIf InStr(1, tmp, "C-") = 1 Then
dj = 3
End If
If dj > 0 Then
For j = 9 To 15 Step 2
c = (j - 9) / 2
res(c)(r, dj) = arr(i, j)
res(c)(r, 4) = res(c)(r, 4) + arr(i, j)
Next j
End If
Next i
For j = 0 To 3
c = j * 4 + 27
Sheets("5.DGCT").Cells(8, c).Resize(sRow, 3) = res(j)
'Sheets("5.DGCT").Cells(8, c).Resize(sRow, 4) = res(j) 'Tinh cot tong cong
Next j
End Sub
Chưa đến lúc cần phải "giỏi được như anh"....
Anh ơi em copy thiếu. Em chạy được rồi. Cảm ơn anh nhiều nhé. Làm thế nào để giỏi được như anh anh nhỉ?
....
Chỉnh lại . . .Em cảm ơn anh đã giúp đỡ. Về số liệu thì đúng với ý của em rồi anh ah nhưng em mong muốn ở đây là bên kết quả phải có dấu bằng đi kèm nữa cơ ah(Ví dụ AA12=M13). Anh hỗ trợ em tiếp với anh nhé.
Sub XYZABC()
Dim sh As Worksheet, rng As Range
Dim eRow&, i&, r&, j&, c&, dj&, tmp$
Application.ScreenUpdating = False
Application.Calculation = xlManual
Set sh = Sheets("5.DGCT")
eRow = sh.Cells(Rows.Count, "F").End(xlUp).Row
Set rng = sh.Range("A1:Q" & eRow)
For j = 27 To 39 Step 4
sh.Cells(8, j).Resize(eRow - 7, 4).ClearContents
Next j
On Error Resume Next
For i = 8 To eRow
dj = 0
tmp = Replace(rng(i, 6).Value, " ", "")
If rng(i, 3) <> Empty Then
r = i
For j = 30 To 42 Step 4
sh.Cells(r, j).Formula = "=" & Cells(r, j - 3).Address(RowAbsolute:=False, ColumnAbsolute:=False) & _
"+" & Cells(r, j - 2).Address(RowAbsolute:=False, ColumnAbsolute:=False) & _
"+" & Cells(r, j - 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Next j
ElseIf InStr(1, tmp, "A-") = 1 Then
dj = 1
ElseIf rng(i, 7) Like "công" Then
dj = 2
ElseIf InStr(1, tmp, "C-") = 1 Then
dj = 3
End If
If dj > 0 Then
For j = 11 To 17 Step 2
c = (j - 11) * 2 + 26
sh.Cells(r, c + dj).Formula = "=" & rng(i, j).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Next j
End If
Next i
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub
Em cảm ơn anh nhé. Đã xử lý được vấn đề rồi anh ah. Do công việc của em đợt này bận quá nên đưa chủ đề ra nhờ các anh giúp đỡ mà bản thân lại ko bám sát được. Mong các anh thông cảm cho em nhé.Chỉnh lại . . .
Mã:Sub XYZABC() Dim sh As Worksheet, rng As Range Dim eRow&, i&, r&, j&, c&, dj&, tmp$ Application.ScreenUpdating = False Application.Calculation = xlManual Set sh = Sheets("5.DGCT") eRow = sh.Cells(Rows.Count, "F").End(xlUp).Row Set rng = sh.Range("A1:Q" & eRow) For j = 27 To 39 Step 4 sh.Cells(8, j).Resize(eRow - 7, 4).ClearContents Next j On Error Resume Next For i = 8 To eRow dj = 0 tmp = Replace(rng(i, 6).Value, " ", "") If rng(i, 3) <> Empty Then r = i For j = 30 To 42 Step 4 sh.Cells(r, j).Formula = "=" & Cells(r, j - 3).Address(RowAbsolute:=False, ColumnAbsolute:=False) & _ "+" & Cells(r, j - 2).Address(RowAbsolute:=False, ColumnAbsolute:=False) & _ "+" & Cells(r, j - 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) Next j ElseIf InStr(1, tmp, "A-") = 1 Then dj = 1 ElseIf rng(i, 7) Like "công" Then dj = 2 ElseIf InStr(1, tmp, "C-") = 1 Then dj = 3 End If If dj > 0 Then For j = 11 To 17 Step 2 c = (j - 11) * 2 + 26 sh.Cells(r, c + dj).Formula = "=" & rng(i, j).Address(RowAbsolute:=False, ColumnAbsolute:=False) Next j End If Next i Application.ScreenUpdating = True Application.Calculation = xlAutomatic End Sub
Mình thuộc dạng ít nói, vấn đề đã được xử lý nên mình không nói gì thêmNhờ được các anh giúp giải quyết được công việc rất là mừng, nhưng khi cảm ơn các anh các anh cứ im lặng thế này làm em thấy tủi thân ghê.
Có nút Vote bên phải bài viết đó, cám ơn bằng cái đó là các anh mừng rồi nhé. (Như mình vừa vote mẫu cho bạn)Nhờ được các anh giúp giải quyết được công việc rất là mừng, nhưng khi cảm ơn các anh các anh cứ im lặng thế này làm em thấy tủi thân ghê.
Ngược lại, tôi thuộc dạng lắm lời. Tuy nhiên tôi chỉ lắm lời khi nên kia là người biết trọng tiếng mẹ đẻ.Mình thuộc dạng ít nói, vấn đề đã được xử lý nên mình không nói gì thêm
Phải tự mình cố gắng thôi bạn ạ. Đầu tiên là đưa rước cháu ở trường, tám với phụ huynh. Kế dố là cố gắng vác xác đi mấy buổi họp, buổi thể thao, lại atms với phụ huynh. Nếu nhà bạn ở là loại "white picket fence" thì tìm cách làm quen với hàng xóm, mời mọc ăn bánh uống trà. Nếu loại chung cư thì hơi bô xồ, chịu khó tìm nới chơi được thôi.Mình mới qua vài năm, ít giao tiếp vơi người bản xứ vì ngôn ngữ bất đồng![]()
Bạn là người nước ngoài??? Bạn là người nước nào bạn nhỉ? Where do you come from?Mình mới qua vài năm, ít giao tiếp vơi người bản xứ vì ngôn ngữ bất đồn
Nếu không nói được thì hát thay thế thì có ổn không bác?Phải tự mình cố gắng thôi bạn ạ. Đầu tiên là đưa rước cháu ở trường, tám với phụ huynh. Kế dố là cố gắng vác xác đi mấy buổi họp, buổi thể thao, lại atms với phụ huynh. Nếu nhà bạn ở là loại "white picket fence" thì tìm cách làm quen với hàng xóm, mời mọc ăn bánh uống trà. Nếu loại chung cư thì hơi bô xồ, chịu khó tìm nới chơi được thôi.
Thống kê về phúc lợi xã hội và y tế xã hội cho biết tỷ lệ người lớn tuổi ít ra ngoài tiếp xúc bị bệnh trầm cảm khá cao.
Thì sẽ được đi theo số người tôi kể ở dòng cuối bài #20 trên.Nếu không nói được thì hát thay thế thì có ổn không bác?
Bạn ấy không phải người nước ngoài. Bạn ấy là người Việt, hiện định cư ở nước ngoài.Bạn là người nước ngoài??? Bạn là người nước nào bạn nhỉ? Where do you come from?
Hàng xóm hầu hết đã về hưu và rất thân thiện, gần đây có vài nhà chuyển đi vì không còn tự chăm sóc bản thân đượcPhải tự mình cố gắng thôi bạn ạ. Đầu tiên là đưa rước cháu ở trường, tám với phụ huynh. Kế dố là cố gắng vác xác đi mấy buổi họp, buổi thể thao, lại atms với phụ huynh. Nếu nhà bạn ở là loại "white picket fence" thì tìm cách làm quen với hàng xóm, mời mọc ăn bánh uống trà. Nếu loại chung cư thì hơi bô xồ, chịu khó tìm nới chơi được thôi.
Thống kê về phúc lợi xã hội và y tế xã hội cho biết tỷ lệ người lớn tuổi ít ra ngoài tiếp xúc bị bệnh trầm cảm khá cao.
Chỉ mới được con rinh qua làm người trông trẻBạn là người nước ngoài??? Bạn là người nước nào bạn nhỉ? Where do you come from?
Vậy là bạn ở ngoại ô, loại nhà hàng rào trắng.Hàng xóm hầu hết đã về hưu và rất thân thiện, gần đây có vài nhà chuyển đi vì không còn tự chăm sóc bản thân được
...
Trong tuần ở nhà trên đồi cao giữ cháu, cuối tuần về nhà chung cư thấp tầng giống khu nhà biệt lập của người Hoa ở Sài GònVậy là bạn ở ngoại ô, loại nhà hàng rào trắng.
Giải thích: white picket fence là câu thành ngữ xưa dùng để chỉ giấc mơ của người Mẽo bình dân (American Dream) về cuộc sống yên lành kiểu mẫu. Chồng đi làm, vợ nội trợ, hai hoặc ba con, căn nhà nhỏ ở ngoại ô với hàng rào cọc gỗ sơn trắng.
Bạn xem phim The Incredible (2004) sẽ thấy giấc mơ này. Anh chàng Bob (vai chính) đi làm hãng bảo hiểm. (*1) Vợ là Flexi Girl (*2), đứa con gái dậy thì với nổi băn khoăn không được giống như bạn chung quanh, đưa con trai thì thích khoe tài,... Đến khi để ý ngôi nhà, bạn sé càng hiểu sao người Méo lại thích phim này (doanh thu cao thứ tư trong năm), đó là ngôi nhà có hàng rảo cọc gỗ sơn trắng.
(*1) Hãng bảo hiểm thường lường gạt người ta ở mấy cái mục khó lường, tiếng mà người ta thường họi là fine prints. Ở đây ngụ ý nói anh chàng vơ phải cái công việc phản với lương tâm "hiệp sĩ" của anh.
(*2) Trong phim là dẻo, co giãn chân tay. Theo nghĩa bóng, từ Flexi[ble] còn có nghĩa là đảm đang, khéo thu vén.