chuyển dữ liệu và đổi dấu (2 người xem)

  • Thread starter Thread starter SBFC
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

SBFC

Thành viên mới
Tham gia
3/10/24
Bài viết
4
Được thích
0
Chào anh/ chị !
em có file excel cần chuyển cột khác và đẩy dữ liệu lên trên và đổi dấu ( âm thành dương hoặc ngược lại), nhờ anh chị viết code giúp ạ, e cám ơn!
 

File đính kèm

Data của bạn như nào? Nếu không nhiều cột. Có thể sử dụng chọn từng cột với những dòng khác trống rồi paste được mà
 
Upvote 0
Data của bạn như nào? Nếu không nhiều cột. Có thể sử dụng chọn từng cột với những dòng khác trống rồi paste được mà
Của mình rất nhiều cột và nhiều dòng, không giới hạn bên dưới ( ví dụ dưới 10000 dòng); file trên là mình đưa ra ví dụ cho nhẹ thôi
 
Upvote 0
Của mình rất nhiều cột và nhiều dòng, không giới hạn bên dưới ( ví dụ dưới 10000 dòng); file trên là mình đưa ra ví dụ cho nhẹ thôi
Tại phần kết quả không biết nó có quy luật gì không? chứ thấy có 3 dòng mấy cột thế kia. code rồi có khi sửa đi sửa lại à
 
Upvote 0
mình gửi lại bảng đầy đủ của mình. dữ liệu sau khi can thiệp nằm từ cột DN đến EB; kết quả mình mong muốn là bảng từ cột EF đến ET; nhưng hiện tài khi chèn qua nó bị tăng lên 1000 lần rồi
 

File đính kèm

Upvote 0
Chào anh/ chị !
em có file excel cần chuyển cột khác và đẩy dữ liệu lên trên và đổi dấu ( âm thành dương hoặc ngược lại), nhờ anh chị viết code giúp ạ, e cám ơn!
Mình chưa hiểu lắm, nhưng nếu như hình thì bạn thử

J3=-AGGREGATE(15,6,B$3:B$31/(B$3:B$31<>""),ROW(1:1))

Thân
 
Upvote 0
Đổi dấu thì chỉ cần copy 1 ô chứa -1, Paste special và chọn multiply
 
Upvote 0
mình gửi lại bảng đầy đủ của mình. dữ liệu sau khi can thiệp nằm từ cột DN đến EB; kết quả mình mong muốn là bảng từ cột EF đến ET; nhưng hiện tài khi chèn qua nó bị tăng lên 1000 lần rồi
Thử code dưới đây.
Vùng điền kết quả bắt đầu từ EV4 để đối chiếu

---
code này chỉ sắp xếp số liệu, việc đổi dấu sẽ thực hiện sau
Mã:
Option Explicit

Sub abcd()
Dim sArr
Dim Res()
Dim rws, cls
Dim i, j, k

With Sheet3
    rws = .UsedRange.Rows.Count
    sArr = .Range("DN4:EB" & rws)
End With
rws = UBound(sArr)
cls = UBound(sArr, 2)
ReDim Res(1 To rws, 1 To cls)

For j = 1 To cls
    k = 1
    For i = 1 To rws
        If IsNumeric(sArr(i, j)) Then
            Res(k, j) = sArr(i, j)
            k = k + 1
        End If
    Next i
Next j

With Sheet3
    .Range("EV4").Resize(.UsedRange.Rows.Count, cls).Clear
    .Range("EV4").Resize(rws, cls) = Res
End With
End Sub
 
Upvote 0
Thử code dưới đây.
Vùng điền kết quả bắt đầu từ EV4 để đối chiếu

---
code này chỉ sắp xếp số liệu, việc đổi dấu sẽ thực hiện sau
Mã:
Option Explicit

Sub abcd()
Dim sArr
Dim Res()
Dim rws, cls
Dim i, j, k

With Sheet3
    rws = .UsedRange.Rows.Count
    sArr = .Range("DN4:EB" & rws)
End With
rws = UBound(sArr)
cls = UBound(sArr, 2)
ReDim Res(1 To rws, 1 To cls)

For j = 1 To cls
    k = 1
    For i = 1 To rws
        If IsNumeric(sArr(i, j)) Then
            Res(k, j) = sArr(i, j)
            k = k + 1
        End If
    Next i
Next j

With Sheet3
    .Range("EV4").Resize(.UsedRange.Rows.Count, cls).Clear
    .Range("EV4").Resize(rws, cls) = Res
End With
End Sub
e cám ơn anh ạ!
 
Upvote 0
Web KT

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

Back
Top Bottom