Cho em hỏi đẩy dữ liệu từ một ô ra các ô trong excel thế nào? (2 người xem)

Liên hệ QC

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

Anh nào cho em mail hoặc số điện thoại em hỏi cụ thể được không ạ?
 
Nhờ mọi người giúp đưa giữa liệu lên excel.

Em đang xuất dữ liệu từ OPC sang excel để lưu trữ, nhưng những 1000 dữ liệu nên không thể lưu vào 1000 vùng nhớ và đưa ra 1000 ô bên excel được. Giờ e muốn đẩy từng dữ liệu lên vào 1 ô, cứ 1s đẩy lên 1 dữ liệu vào ô A1. Giờ làm sao để mỗi lần e đẩy dữ liệu lên ô A1 thì giá trị cũ của ô A1 đẩy xuống ô dưới và ô A1 nhận dữ liệu mới. Cứ vậy tạo thanh một cột dữ liệu 1000 giá trị. Ai giúp mình với, Thank!
 
Em đang xuất dữ liệu từ OPC sang excel để lưu trữ, nhưng những 1000 dữ liệu nên không thể lưu vào 1000 vùng nhớ và đưa ra 1000 ô bên excel được. Giờ e muốn đẩy từng dữ liệu lên vào 1 ô, cứ 1s đẩy lên 1 dữ liệu vào ô A1. Giờ làm sao để mỗi lần e đẩy dữ liệu lên ô A1 thì giá trị cũ của ô A1 đẩy xuống ô dưới và ô A1 nhận dữ liệu mới. Cứ vậy tạo thanh một cột dữ liệu 1000 giá trị. Ai giúp mình với, Thank!
Mình thấy bạn hỏi vấn đề này mấy lần rồi, cũng có nhiều người viết code và hướng dẫn giúp bạn rồi. Nhưng hình như có hiểu nhầm về cách bạn diễn đạt.
Theo như bạn nói tại bài này thì dữ liệu xuất từ phần mềm OPC xuống Excel, có nghĩa là từ phần mềm OPC "đẩy" dữ liệu, và bạn lại muốn đẩy từng dữ liệu ... Cái này là hoạt động của phần mềm OPC chứ không phải là hoạt động của Excel.
Có vấn đề này bạn nên nói rõ: Khi phần mềm OPC hoạt động (đẩy dữ liệu) thì Excel đã hoạt động chưa? Hay là phần mềm OPC hoạt động xuất dữ liệu (export) xong thì mới trả ra kết quả là 1 file Excel?
Nếu trên windows cả 2 cùng hoạt động: cách 1 giây phần mềm xuất dữ liệu xuống Excel, thì cứ cách 1 giây trên file Excel có 1 dữ liệu (ví dụ tại A1). Có thể dùng code, bạn xem lại những code đã trả lời bạn ở mấy bài trước. Còn ngược lại thì bạn phải liên hệ người viết phần mềm OPC cho cơ quan của bạn để thiết lập chức năng Export này.
 
2 phần mền hoạt động cùng lúc. Dữ liệu em đẩy lên được rồi nhưng không biết làm sao để trên excel nó có thể nó cứ nhận được dữ liệu mới thì nó đẩy dần ra. anh giúp em được ko chỉ trên excel thôi.
 
Mình thấy bạn hỏi vấn đề này mấy lần rồi, cũng có nhiều người viết code và hướng dẫn giúp bạn rồi. Nhưng hình như có hiểu nhầm về cách bạn diễn đạt.
Theo như bạn nói tại bài này thì dữ liệu xuất từ phần mềm OPC xuống Excel, có nghĩa là từ phần mềm OPC "đẩy" dữ liệu, và bạn lại muốn đẩy từng dữ liệu ... Cái này là hoạt động của phần mềm OPC chứ không phải là hoạt động của Excel.
Có vấn đề này bạn nên nói rõ: Khi phần mềm OPC hoạt động (đẩy dữ liệu) thì Excel đã hoạt động chưa? Hay là phần mềm OPC hoạt động xuất dữ liệu (export) xong thì mới trả ra kết quả là 1 file Excel?
Nếu trên windows cả 2 cùng hoạt động: cách 1 giây phần mềm xuất dữ liệu xuống Excel, thì cứ cách 1 giây trên file Excel có 1 dữ liệu (ví dụ tại A1). Có thể dùng code, bạn xem lại những code đã trả lời bạn ở mấy bài trước. Còn ngược lại thì bạn phải liên hệ người viết phần mềm OPC cho cơ quan của bạn để thiết lập chức năng Export này.
Bác đâu rồi vào giúp em với, đang cần gấp.&&&%$R&&&%$R
 
Bác đâu rồi vào giúp em với, đang cần gấp.&&&%$R&&&%$R
Khả năng là code không có tác dụng trên Excel khi phần mềm OPC của bạn export dữ liệu xuống. Nếu có thể, bạn gửi Teamview vào hộp tin để mình xem thử, không được thì mình cũng chịu thua thôi vì phần mềm OPC bạn nói mình chẳng biết gì về nó.
 
Bác đâu rồi vào giúp em với, đang cần gấp.&&&%$R&&&%$R
Bạn cần gấp thì thuê gấp 1 chuyên gia về công ty coi vấn đề nằm chổ nào. GPE có ai thấy cái máy tính của bạn đâu
Thêm 1 giải pháp cho bạn. Cho chạy Sub sau khi đẩy dữ liệu. Mình mà hiểu chữ đẩy của bạn thì chết liền đó
PHP:
Sub Chen_Cell()
Dim Sarr()
If [A2] = Empty Then Exit Sub
Sarr = Range([A1], [A65536].End(3)).Value
[A2].Resize(UBound(Sarr)) = Sarr
[A1].ClearContents
End Sub
 
Khả năng là code không có tác dụng trên Excel khi phần mềm OPC của bạn export dữ liệu xuống. Nếu có thể, bạn gửi Teamview vào hộp tin để mình xem thử, không được thì mình cũng chịu thua thôi vì phần mềm OPC bạn nói mình chẳng biết gì về nó.
Vần đề đây không phải là phần mền OPC. OPC e cho đẩy dữ liệu vào như kiểu ô C1 đẩy vào ô A1 (vd A1=C1) thằng C1 thay cho OPC, thằng C1 thay đổi thì A1 thay đổi và giá trị trước đó của thằng A1 được đẩy xuống. Nói chung là không nhập trực tiếp trên excel, giờ làm sao mà excel biết ô đấy có giá trị thay đổi thì chuyển dần dữ liệu xuống, hoặc là cứ tần suất bao nhiêu thì ô tự chuyển dữ liệu xuống thành 1 cột dữ liệu.
Anh nào có Yahoo hay gì liên lac không giúp e với
 
Khả năng là code không có tác dụng trên Excel khi phần mềm OPC của bạn export dữ liệu xuống. Nếu có thể, bạn gửi Teamview vào hộp tin để mình xem thử, không được thì mình cũng chịu thua thôi vì phần mềm OPC bạn nói mình chẳng biết gì về nó.
Giờ bác cứ thay OPC bằng một ô bất kỳ trên excel để thay đổi giá trị là được VD: A1=C1, C1 để nhập giá trị còn A1 đẩy dữ liệu dần xuống. nhưng khi viết code thì thằng C1 không liên quan xem như nó ở phần mền khác.
 
Giờ bác cứ thay OPC bằng một ô bất kỳ trên excel để thay đổi giá trị là được VD: A1=C1, C1 để nhập giá trị còn A1 đẩy dữ liệu dần xuống. nhưng khi viết code thì thằng C1 không liên quan xem như nó ở phần mền khác.
Bạn đã thử bài #15 chưa? Đưa code bài #15 vào thử xem.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Address = "$C$1" Then
        [A1].Insert shift:=xlDown
        [A2] = .Value
        .Select
    End If
End With
End Sub
 

File đính kèm

Ý e không phải vậy. Cái ô C1 không đưa vào code vì nó là thay cho phần mền OPC để nhập dữ liệu. Giờ phải xem thay đổi của ô A1 để đẩy ra mà.
Bạn diễn giải hết khả năng chưa chắc người khác hiểu hết 50% ý của bạn. Nếu bạn quay lại được quá trình hoạt động của OPC và Excel trên máy bạn và up lên đây thì may ra có người hiểu. Mình có hỏi bạn có thể gửi Teamview (gửi ID và pass phần mềm Teamview trên máy bạn để cho người khác xem hoặc tác động lên máy bạn), không được thì cũng chịu thua thôi.
 
Ý e không phải vậy. Cái ô C1 không đưa vào code vì nó là thay cho phần mền OPC để nhập dữ liệu. Giờ phải xem thay đổi của ô A1 để đẩy ra mà.
Nếu bạn "chịu" để trống ô A1, khi nào ô A1 có dữ liệu mới bị "đẩy xuống", thì thử code này.
Bằng không thì "chạy".
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    If Target <> "" Then
        [A1].EntireRow.Insert
        [A1].Select
    End If
End If
End Sub
 
Nếu bạn "chịu" để trống ô A1, khi nào ô A1 có dữ liệu mới bị "đẩy xuống", thì thử code này.
Bằng không thì "chạy".
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    If Target <> "" Then
        [A1].EntireRow.Insert
        [A1].Select
    End If
End If
End Sub
Thế này chỉ là mình nhập trực tiếp từ ô A1, còn e đẩy từ phần mền khác sang thì không được. Anh xem video trên đấy, giúp em với.
 
Thế này chỉ là mình nhập trực tiếp từ ô A1, còn e đẩy từ phần mền khác sang thì không được. Anh xem video trên đấy, giúp em với.
Tôi không xem được Video, cũng không biết cách "đẩy' của "phần mền" khác ra sao.
Nếu ô A1 được nhập giá trị vào (bằng cách nào đó) mà code vẫn không chạy thì "thua" rồi.
 

File đính kèm

Lần chỉnh sửa cuối:
Vậy có cách nào để biết ô A1 đang thay đổi và đẩy nó xuống dưới như code trên không a hoặc là cứ chu kỳ bao nhiêu s thì nó lại lấy giá trị ô A1 đẩy dần xuống?
 
Vậy có cách nào để biết ô A1 đang thay đổi và đẩy nó xuống dưới như code trên không a hoặc là cứ chu kỳ bao nhiêu s thì nó lại lấy giá trị ô A1 đẩy dần xuống?
Tôi đã đính kèm file ở bài trên. khi nào bạn muốn "đẩy" thì "đẩy".
 
Web KT

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

Back
Top Bottom