Chuyển mã dữ liệu

Liên hệ QC

Masu1991

Thành viên hoạt động
Tham gia
21/3/20
Bài viết
110
Được thích
14
Em có 1 file dữ liệu như thế này, nhờ các anh chị giúp đỡ.
Yêu cầu:
1. Chèn thêm dấu ' ' (2 dấu ngoặc đơn) vào trước và sau mã dữ liệu.
2. Thêm dấu ,(phẩy) vào phía trước dữ liệu ở cột mã dữ liệu.
3. Cứ mỗi 10 dòng là đánh số thứ tự 1 lần
4. Dòng thứ 1 thì loại bỏ đi dấu ,(phẩy)
=> mục đích của em là để chèn vào câu lệnh SQL
Chào các anh chị,
Em xin cảm ơn!
 

File đính kèm

  • chuyển đổi mã.xlsx
    10.4 KB · Đọc: 10
Bạn tham khảo thử công thức mình để trong file đính kèm.
 

File đính kèm

  • ChuyenDoiMa.xlsx
    10.8 KB · Đọc: 16
Upvote 0
Em có 1 file dữ liệu như thế này, nhờ các anh chị giúp đỡ.
Yêu cầu:
1. Chèn thêm dấu ' ' (2 dấu ngoặc đơn) vào trước và sau mã dữ liệu.
2. Thêm dấu ,(phẩy) vào phía trước dữ liệu ở cột mã dữ liệu.
3. Cứ mỗi 10 dòng là đánh số thứ tự 1 lần
4. Dòng thứ 1 thì loại bỏ đi dấu ,(phẩy)
=> mục đích của em là để chèn vào câu lệnh SQL
Chào các anh chị,
Em xin cảm ơn!
anh chị có thể giúp em bằng code vba được không ạ. em cảm ơn
 
Upvote 0
Làm việc với SQL Server mà học VBA làm mốc gì.
Cũng như đang học Đại Học Toán, đồi xuống học toán lớp 10.

Chú thích: chèn dấu ngoặc đơn để delimit text chưa đủ đâu. Nhữngb text có têngs Việt thì phải N'
 
Upvote 0
PHP:
Sub ChuyenMa()
Dim Arr, OArr As Variant
Dim i, lastrow As Long
    With Sheets("Sheet2")
        lastrow = .Range("A" & Rows.Count).End(xlUp).Row
        .Range("F3:G" & lastrow).ClearContents
        Arr = .Range("A3:A" & lastrow)
        ReDim OArr(1 To UBound(Arr), 1 To 2)
        For i = LBound(Arr) To UBound(Arr)
            OArr(i, 1) = (i - 1) Mod 10 + 1
            If OArr(i, 1) = 1 Then OArr(i, 2) = "'" & Arr(i, 1) & "'" Else OArr(i, 2) = ",'" & Arr(i, 1) & "'"
        Next i
        .Range("F3").Resize(UBound(OArr), 2) = OArr
    End With
End Sub
Chiều bạn thêm tý nữa vậy.
 
Upvote 0
Dạ chào anh, em muốn tìm hiểu thêm VBA á anh.
Muốn VBA thì thử code này
Mã:
Sub GPE()
    Dim sArr, dArr, i As Integer, j As Integer
    With Sheet1
        j = .Range("A10000").End(xlUp).Row
        If j < 3 Then Exit Sub
        sArr = .Range("A3:A" & j).Value
        ReDim dArr(1 To UBound(sArr), 1 To 2)
        j = 0
        For i = 1 To UBound(sArr)
            j = j + 1
            dArr(i, 1) = IIf(j = 1, "''", ",'") & sArr(i, 1) & "'"
            dArr(i, 2) = j
            If j = 10 Then j = 0
        Next i
        .Range("C3").Resize(UBound(sArr), 2).Value = dArr
    End With
    MsgBox "Da thuc hien xong"
End Sub
 
Upvote 0
Làm việc với SQL Server mà học VBA làm mốc gì.
Cũng như đang học Đại Học Toán, đồi xuống học toán lớp 10.

Chú thích: chèn dấu ngoặc đơn để delimit text chưa đủ đâu. Nhữngb text có têngs Việt thì phải N'
vấn đề của em hiên tại là xuất dữ liệu từ hệ thống bằng câu lệnh SQL nhưng mỗi điều kiện thì phải chèn như vậy thì mất thời gian sửa, nên em muốn tìm xem có cách nào cải thiện hơn không.
ghi chú: hiện tại em đang sử dụng phần mềm UltraEdit để chèn các dấu phẩy và đấu ngoặc đơn nhưng cũng chưa khả quan.
 
Upvote 0
Viết một cái procedure:
- import WorkShet vào mọt table tạm trên SQL Server, Lúc import, cho nó autonumber các dòng.
- chuyển dữ liệu từ table này sang table chính. Cứ 10 số autonumber ở trên thì đánh số lại.
- hết

Vấn đề của bạn là Data Migration (Chuyển Tải Dữ Liệu). Mấy cái Database căn bản đều có cách làm.
Tự bạn đặt mình vào vị trí phải dùng VBA cho nên hỏi ở góc này. Và tự hạn hẹp tầm vực tìm hiểu về các phương pháp.
Nếu bạn hỏi ở góc "Cơ Sỏ Dữ Liệu" thì đã có nhiều người giỏi về vấn đề này và có thể đề nghị giúp cho bạn gải pháp hiệu quả hơn.
 
Upvote 0
Viết một cái procedure:
- import WorkShet vào mọt table tạm trên SQL Server, Lúc import, cho nó autonumber các dòng.
- chuyển dữ liệu từ table này sang table chính. Cứ 10 số autonumber ở trên thì đánh số lại.
- hết

Vấn đề của bạn là Data Migration (Chuyển Tải Dữ Liệu). Mấy cái Database căn bản đều có cách làm.
Tự bạn đặt mình vào vị trí phải dùng VBA cho nên hỏi ở góc này. Và tự hạn hẹp tầm vực tìm hiểu về các phương pháp.
Nếu bạn hỏi ở góc "Cơ Sỏ Dữ Liệu" thì đã có nhiều người giỏi về vấn đề này và có thể đề nghị giúp cho bạn gải pháp hiệu quả hơn.
Em không biết tý gì SQL, mới chỉ dùng 1 xíu ADO ghép nối dữ liệu từ .mdb chuyển qua Excel đã thấy khủng vế tốc độ rồi :D
 
Upvote 0
Web KT

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

Back
Top Bottom