nhờ giúp đỡ chuyển số liệu từ file khác sang sheet hiện thời ở vị trí tùy chọn (1 người xem)

Liên hệ QC

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

pinklove

Thành viên thường trực
Tham gia
21/1/08
Bài viết
336
Được thích
42
Em có file gốc là Reportdata. Ở sheet1 của file test em đã run được sub chuyển đổi khi em copy dữ liệu vào đó. Bây giờ em muốn run ở sheet 2 với dữ liệu ở sheet 1 thì em phải sửa code thế nào. Hoặc nếu có thể nhờ các anh giúp em lấy dữ liệu từ file data và chuyển đổi vào sheet 2 được không ạ. Và cả với hai trường hợp trên em muốn có thể lúc chuyển sang nó sẽ cho mình chọn ô để bắt đầu paste dữ liệu có được không???
 

File đính kèm

Với dòng này trong code là nơi dán kết quả
Mã:
[T14].Resize(i - 1, 5) = dArr
Vậy bây giờ bạn muốn dán kết quả vào sheet khác thì phải khai báo rõ sheet cần dán.
Ví dụ muốn dán ở sheet 2, ngay tại ô A5 thì bạn viết lại là
Mã:
[COLOR=#ff0000][B]Sheet2.[A5][/B][/COLOR].Resize(i - 1, 5) = dArr
Tên sheet và Cell màu đỏ ở trên, bạn muốn thay đổi thì tự gõ lại Cell khác
Bạn giúp mình cái vụ lấy dữ liệu từ file gốc và sau đó khi dán kết quả thì nó sẽ hỏi mình dán vào đâu được ko???
 
Upvote 0
Với dòng này trong code là nơi dán kết quả
Mã:
[T14].Resize(i - 1, 5) = dArr
Vậy bây giờ bạn muốn dán kết quả vào sheet khác thì phải khai báo rõ sheet cần dán.
Ví dụ muốn dán ở sheet 2, ngay tại ô A5 thì bạn viết lại là
Mã:
[COLOR=#ff0000][B]Sheet2.[A5][/B][/COLOR].Resize(i - 1, 5) = dArr
Tên sheet và Cell màu đỏ ở trên, bạn muốn thay đổi thì tự gõ lại Cell khác

Mình giờ mới thử cách của bạn nhưng ý muốn của mình lại khác. Đó là mình muốn button đặt ở sheet2, thực hiện lệnh ở sheet2 chứ không phải là để button ở sheet1
 
Upvote 0
Mình giờ mới thử cách của bạn nhưng ý muốn của mình lại khác. Đó là mình muốn button đặt ở sheet2, thực hiện lệnh ở sheet2 chứ không phải là để button ở sheet1
Bạn hãy sửa code với dữ liệu nguồn lấy từ sheet1, rồi gán kết quả như #2 sau đó vẽ button ở sheet2 là sẽ được thôi.
 
Upvote 0
mình sửa ko đc mới lên đây nhờ giúp chứ bạn.
Không biết code này ai đã viết cho bạn, mạo muội xin phép sửa theo yêu cầu của bạn:
Mã:
Public Sub Exporting()
Dim sArr(), dArr(), i
With Sheet1
sArr = .Range(.[E14], .[E14].End(xlDown)).Resize(, 6).Value
End with
ReDim dArr(1 To UBound(sArr, 1), 1 To 5)
 For i = 1 To UBound(sArr, 1)
    dArr(i, 1) = Mid(sArr(i, 1), InStr(sArr(i, 1), ":") + 1, Len(sArr(i, 1)) - InStr(sArr(i, 1), ":") - 5)
    dArr(i, 2) = TimeSerial(Hour(sArr(i, 5)), Minute(sArr(i, 5)), Second(sArr(i, 5)))
    dArr(i, 3) = DateSerial(Year(sArr(i, 5)), Month(sArr(i, 5)), Day(sArr(i, 5)))
      If sArr(i, 3) <> Empty Then
        dArr(i, 4) = TimeSerial(Hour(sArr(i, 6)), Minute(sArr(i, 6)), Second(sArr(i, 6)))
        dArr(i, 5) = DateSerial(Year(sArr(i, 6)), Month(sArr(i, 6)), Day(sArr(i, 6)))
      End If
 Next i
  Sheet2.[A5:E10000].ClearContents
  Sheet2.[A5].Resize(i - 1, 5) = dArr
End Sub
 
Upvote 0
Không biết code này ai đã viết cho bạn, mạo muội xin phép sửa theo yêu cầu của bạn:
Mã:
Public Sub Exporting()
Dim sArr(), dArr(), i
With Sheet1
sArr = .Range(.[E14], .[E14].End(xlDown)).Resize(, 6).Value
End with
ReDim dArr(1 To UBound(sArr, 1), 1 To 5)
 For i = 1 To UBound(sArr, 1)
    dArr(i, 1) = Mid(sArr(i, 1), InStr(sArr(i, 1), ":") + 1, Len(sArr(i, 1)) - InStr(sArr(i, 1), ":") - 5)
    dArr(i, 2) = TimeSerial(Hour(sArr(i, 5)), Minute(sArr(i, 5)), Second(sArr(i, 5)))
    dArr(i, 3) = DateSerial(Year(sArr(i, 5)), Month(sArr(i, 5)), Day(sArr(i, 5)))
      If sArr(i, 3) <> Empty Then
        dArr(i, 4) = TimeSerial(Hour(sArr(i, 6)), Minute(sArr(i, 6)), Second(sArr(i, 6)))
        dArr(i, 5) = DateSerial(Year(sArr(i, 6)), Month(sArr(i, 6)), Day(sArr(i, 6)))
      End If
 Next i
  Sheet2.[A5:E10000].ClearContents
  Sheet2.[A5].Resize(i - 1, 5) = dArr
End Sub

Mình cũng sửa với with ... y như vậy, nhưng mình đặt End With cuối cùng ngay trước End sub nên code không chạy. Cảm ơn bạn.

Kiểu như Application.InputBox. Nghĩ là vậy nhưng hên xui.

Bạn cứ thử cho mình cái. Biết đâu lại hên. --=0--=0--=0
 
Upvote 0
Bạn cứ thử cho mình cái. Biết đâu lại hên. --=0--=0--=0
Vậy thì mình cứ hên xui nha:
Mã:
Public Sub Exporting()
Dim sArr(), dArr(), i, Rng
 With Sheet1
   sArr = .Range(.[E14], .[E14].End(xlDown)).Resize(, 6).Value
 End With
  ReDim dArr(1 To UBound(sArr, 1), 1 To 5)
   For i = 1 To UBound(sArr, 1)
     dArr(i, 1) = Mid(sArr(i, 1), InStr(sArr(i, 1), ":") + 1, Len(sArr(i, 1)) - InStr(sArr(i, 1), ":") - 5)
     dArr(i, 2) = TimeSerial(Hour(sArr(i, 5)), Minute(sArr(i, 5)), Second(sArr(i, 5)))
     dArr(i, 3) = DateSerial(Year(sArr(i, 5)), Month(sArr(i, 5)), Day(sArr(i, 5)))
       If sArr(i, 3) <> Empty Then
        dArr(i, 4) = TimeSerial(Hour(sArr(i, 6)), Minute(sArr(i, 6)), Second(sArr(i, 6)))
        dArr(i, 5) = DateSerial(Year(sArr(i, 6)), Month(sArr(i, 6)), Day(sArr(i, 6)))
       End If
   Next i
   On Error GoTo GPE
   Set Rng = Application.InputBox("Chon noi de dat", Type:=8)
        Rng.Resize(i - 1, 5) = dArr
GPE:
End Sub
 
Upvote 0
Vậy thì mình cứ hên xui nha:
Mã:
Public Sub Exporting()
Dim sArr(), dArr(), i, Rng
 With Sheet1
   sArr = .Range(.[E14], .[E14].End(xlDown)).Resize(, 6).Value
 End With
  ReDim dArr(1 To UBound(sArr, 1), 1 To 5)
   For i = 1 To UBound(sArr, 1)
     dArr(i, 1) = Mid(sArr(i, 1), InStr(sArr(i, 1), ":") + 1, Len(sArr(i, 1)) - InStr(sArr(i, 1), ":") - 5)
     dArr(i, 2) = TimeSerial(Hour(sArr(i, 5)), Minute(sArr(i, 5)), Second(sArr(i, 5)))
     dArr(i, 3) = DateSerial(Year(sArr(i, 5)), Month(sArr(i, 5)), Day(sArr(i, 5)))
       If sArr(i, 3) <> Empty Then
        dArr(i, 4) = TimeSerial(Hour(sArr(i, 6)), Minute(sArr(i, 6)), Second(sArr(i, 6)))
        dArr(i, 5) = DateSerial(Year(sArr(i, 6)), Month(sArr(i, 6)), Day(sArr(i, 6)))
       End If
   Next i
   On Error GoTo GPE
   Set Rng = Application.InputBox("Chon noi de dat", Type:=8)
        Rng.Resize(i - 1, 5) = dArr
GPE:
End Sub
Hên được một nửa rồi bạn ơi. Đã chọn được vị trí dán kết quả, nhưng nguồn vẫn lấy từ sheet1. Mình còn mong muốn là nguồn được lấy từ sheet1 của file khác nữa. Nó có dạng như file reportdata mình gửi kèm ở bài đầu đó. Nếu có thể làm được lúc đầu nó sẽ hỏi file nguồn rồi sau đó hỏi vị trí dán như code trên thì tuyệt. Đỡ được một bước copy từ file export vào sheet1 của file chương trình.
 
Upvote 0
Hên được một nửa rồi bạn ơi. Đã chọn được vị trí dán kết quả, nhưng nguồn vẫn lấy từ sheet1. Mình còn mong muốn là nguồn được lấy từ sheet1 của file khác nữa. Nó có dạng như file reportdata mình gửi kèm ở bài đầu đó. Nếu có thể làm được lúc đầu nó sẽ hỏi file nguồn rồi sau đó hỏi vị trí dán như code trên thì tuyệt. Đỡ được một bước copy từ file export vào sheet1 của file chương trình.
Các file khác được bố trí như thế nào, có cấu trúc như file #1 hông. Với lại yêu cầu mới này không phù hợp với tiêu đề của topic nữa rồi thì phải. Bạn có thể tạo topic mới rồi đưa vài file nguồn lên để mọi người cùng giải quyết.
 
Upvote 0
Các file khác được bố trí như thế nào, có cấu trúc như file #1 hông. Với lại yêu cầu mới này không phù hợp với tiêu đề của topic nữa rồi thì phải. Bạn có thể tạo topic mới rồi đưa vài file nguồn lên để mọi người cùng giải quyết.
xin bạn cho biết là yêu cầu nào không phù hợp với tiêu đề này vậy bạn ?
 
Upvote 0
Upvote 0
Có cái câu này nè:

Bạn đừng nói có thể lưu cùng tên nhiều loại .xls* nha. Mới lại hình như cái khoản mới này hợp với doveandrose hơn. Hỏi xoáy quá.....biết trả lời sao. HuHu:.,:.,:.,

bạn tham gia code rồi thì chịu khó chơi tới bến đi mà .... chứ giờ bắt tôi làm thì tôi lại phải đọc hết lại từ #1 xem có những chuyện gì từ đầu đến giờ mất thời gian lắm
 
Upvote 0
bạn tham gia code rồi thì chịu khó chơi tới bến đi mà .... chứ giờ bắt tôi làm thì tôi lại phải đọc hết lại từ #1 xem có những chuyện gì từ đầu đến giờ mất thời gian lắm
Code trên đâu phải của tui, nhiều chuyện nhào vô sửa giúp ấy chứ. Sửa quá lại tự thấy hỏng hết cái code đẹp ban đầu, với lại ai mà biết được 1 "nùi" file nguồn của người ta nó như thế nào cơ chứ.
 
Upvote 0
Code trên đâu phải của tui, nhiều chuyện nhào vô sửa giúp ấy chứ. Sửa quá lại tự thấy hỏng hết cái code đẹp ban đầu, với lại ai mà biết được 1 "nùi" file nguồn của người ta nó như thế nào cơ chứ.
nó có dạng như này nè

Nó có dạng như file reportdata mình gửi kèm ở bài đầu đó. Nếu có thể làm được lúc đầu nó sẽ hỏi file nguồn rồi sau đó hỏi vị trí dán như code trên thì tuyệt.
 
Upvote 0
Hì, các xếp thôi cãi nhau để dành thời gian giúp em đi ạ. File nguồn em Export ra đúng y chang file Reportdata đó ạ. Còn bố trí file thì em nghĩ không quan trọng vì em có thể chọn vị trí dán kết quả rồi. Ý em muốn đúng là nó sẽ hiện ra form cho mình chọn đường dẫn đến file nguồn (như open file ấy) chứ ko phụ thuộc vào filename ạ.
 
Lần chỉnh sửa cuối:
Upvote 0
Hì, các xếp thôi cãi nhau để dành thời gian giúp em đi ạ. File nguồn em Export ra đúng y chang file Reportdata đó ạ. Còn bố trí file thì em nghĩ không quan trọng vì em có thể chọn vị trí dán kết quả rồi. Ý em muốn đúng là nó sẽ hiện ra form cho mình chọn đường dẫn đến file nguồn (như open file ấy) chứ ko phụ thuộc vào filename ạ.
Chỉ là đang nói chuyện bình thường thôi, có cãi nhau đâu, hehe.Nói chung là làm được. Nhưng đến giờ ăn nhậu rồi, có gì tối kịp tỉnh thì làm rồi gửi bài cho bạn tham khảo.
 
Upvote 0
Chỉ là đang nói chuyện bình thường thôi, có cãi nhau đâu, hehe.Nói chung là làm được. Nhưng đến giờ ăn nhậu rồi, có gì tối còn tỉnh gửi bài sau cho bạn tham khảo.
Cố gắng tỉnh nhá. Tối giúp tớ xong tớ mời bạn vài quai nữa khi đó xỉn cũng được. --=0--=0--=0
 
Upvote 0
Web KT

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

Back
Top Bottom