Nhờ viết code copy dữ liệu từ sheet khác (1 người xem)

Liên hệ QC

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

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Em muốn copy kết quả từ ô G34 - Sheet(KLL-K95) vào cột S
+ Chạy code hỏi muốn copy số lớp: VD như bảng tinh: nhập (17) và chạy bắt đầu từ số nhập (100) ok or cancel
+ KQua vào 1 ô cell bất kỳ VD để chuột vào ô S3 sẽ kết quả sẽ chạy từ ô S3, S4, S5
+ Copy số G34 sang ô S3 vị trí đặt con chỏ và paste Value
+ tiếp: Next số thứ tự tiếp theo của ô AZ1 - Sheet(KLL-K95) >> Copy số G34 sang ô S4 và paste Value
+ tiếp: Next số thứ tự tiếp theo của ô AZ1 - Sheet(KLL-K95) >> Copy số G34 sang ô S5 và paste Value
+ ... 17 lần
==> Kết quả sẽ giống như cột N
Untitled.png
Mong các anh giúp đỡ! em xin chân thành cảm ơn
 

File đính kèm

Em muốn copy kết quả từ ô G34 - Sheet(KLL-K95) vào cột S
+ Chạy code hỏi muốn copy số lớp: VD như bảng tinh: nhập (17) và chạy bắt đầu từ số nhập (100) ok or cancel
+ KQua vào 1 ô cell bất kỳ VD để chuột vào ô S3 sẽ kết quả sẽ chạy từ ô S3, S4, S5
+ Copy số G34 sang ô S3 vị trí đặt con chỏ và paste Value
+ tiếp: Next số thứ tự tiếp theo của ô AZ1 - Sheet(KLL-K95) >> Copy số G34 sang ô S4 và paste Value
+ tiếp: Next số thứ tự tiếp theo của ô AZ1 - Sheet(KLL-K95) >> Copy số G34 sang ô S5 và paste Value
+ ... 17 lần
==> Kết quả sẽ giống như cột N
View attachment 185736
Mong các anh giúp đỡ! em xin chân thành cảm ơn
Như thế này ak.
 

File đính kèm

Upvote 0
Em muốn copy kết quả từ ô G34 - Sheet(KLL-K95) vào cột S
+ Chạy code hỏi muốn copy số lớp: VD như bảng tinh: nhập (17) và chạy bắt đầu từ số nhập (100) ok or cancel
+ KQua vào 1 ô cell bất kỳ VD để chuột vào ô S3 sẽ kết quả sẽ chạy từ ô S3, S4, S5
+ Copy số G34 sang ô S3 vị trí đặt con chỏ và paste Value
+ tiếp: Next số thứ tự tiếp theo của ô AZ1 - Sheet(KLL-K95) >> Copy số G34 sang ô S4 và paste Value
+ tiếp: Next số thứ tự tiếp theo của ô AZ1 - Sheet(KLL-K95) >> Copy số G34 sang ô S5 và paste Value
+ ... 17 lần
==> Kết quả sẽ giống như cột N
View attachment 185736
Mong các anh giúp đỡ! em xin chân thành cảm ơn
Em đang viết được 1 đoạn đầu nhưng chưa biết cho vào vòng for để ô AZ1 chạy theo iMax
lần đầu là của vòng for là activecell
lần tiếp theo là offset xuống 1 dòng và ô AZ1 sheet(KLL-K95) cộng thêm 1
-----------
Sub activeCell_K95()
Dim I As Long
Dim iMax As Long
Dim KQk95 As Range
Application.ScreenUpdating = False

Set KQk95 = Sheets("KLL-K95").Range("G200")
ActiveCell = KQk95
iMax = Sheets("KLL-K95").Range("BC1")
For I = 0 To iMax - 1
'MsgBox I
Next I
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy bạn diễn đạt lại đi. từng bước 1. chưa hiểu bạn muốn làm gì
sheets (KLL-K95) là bảng tính chi tiết, hàm tìm kiếm chạy theo số ô AZ1, như bảng tính hiện tại là 17 bảng tính 100~116, em muốn lấy kết của từng bảng tính 1 chèn vào sheet VoVa. Bảng thứ nhất az1=100 kết quả chèn vào S3 (ô này là ô chuột chọn bất kì đang vd chuột đang nằm ô S3)
az1=101 kết quả chèn vào S4
az1=102 kết quả chèn vào S5...

1. tại ô chỉ chuột sheets(VoVa) copy số từ ô G34 sheets (KLL-K95)
2. ô AZ sheets (KLL-K95) + thêm 1 là 101 (số ban đầu ô đó là vd 100), và copy sang sheets(VoVa) sẽ offset xuống 1 dòng
3. ô AZ sheets (KLL-K95) + thêm 1 tiếp là 102, và copy sang sheets(VoVa) sẽ offset xuống 1 dòng
4.... tiếp cho tới for i = 1 to BC1 (17 lần )
 
Upvote 0
1.Tại ô chỉ chuột sheets(VoVa). ? ô chỉ chuột là ô nào.
2. copy sang sheets(Vova) ? copy cái gì sang. và sang chỗ nào.
 
Upvote 0
1.Tại ô chỉ chuột sheets(VoVa). ? ô chỉ chuột là ô nào.
2. copy sang sheets(Vova) ? copy cái gì sang. và sang chỗ nào.
1. ô chỉ chuột là con chỏ để vd ô S3 code sẽ đặt số copy từ ô G34 của sheets(KLL-K95). Chứ phải phải là mạc định sẽ copy sang ô S3, nếu để con chỏ vào ô S5 thì sẽ copy sang ô S5, S6
1.png
2.png 3.png 4.png
 
Lần chỉnh sửa cuối:
Upvote 0
1. ô chỉ chuột là con chỏ để vd ô S3 code sẽ đặt số copy từ ô G34 của sheets(KLL-K95). Chứ phải phải là mạc định sẽ copy sang ô S3, nếu để con chỏ vào ô S5 thì sẽ copy sang ô S5, S6
View attachment 185781
View attachment 185782 View attachment 185783 View attachment 185784
Con trỏ ở ô S3 thì copy sang ô S3, S5 thì copy sang ô S5,S6. Vậy khi nào thì tui biết copy vô 1 ô, khi nào copy vô 2 ô. Hoang mang quá.
 
Upvote 0
Con trỏ ở ô S3 thì copy sang ô S3, S5 thì copy sang ô S5,S6. Vậy khi nào thì tui biết copy vô 1 ô, khi nào copy vô 2 ô. Hoang mang quá.
Dạ em diễn đạt vẫn chưa chuẩn. nghĩa là vòng for sẽ chạy tới imax ví dụ là 10 thì ô đầu tiên S3, lặp lại chạy S4.. lặp lại 10 lần kết quả sẽ điền đến ô S13 ạ
 
Upvote 0
Để tối em diễn đạt lại cho chuẩn. rồi anh giúp em
 
Upvote 0
anh ơi! em làm cái video diễn tả cho dễ anh xem hộ em với:
Vậy mà cứ tưởng cái gì khó lắm không giám làm
Bạn gắn cái Code này vào nút Spin bên Sheets("KLL-K95") thử xem
PHP:
Sub Khohieuqua()
    Dim Dic As Object, sArr(), I As Long, R As Long, Stt As Long
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("VoVa")
    sArr = .Range("A1", .Range("A65535").End(3).Value
End With
For I = 3 To UBound(sArr)
    Dic.Item(sArr(I, 1)) = I
Next I
With Sheets("KLL-K95")
    Stt = .Range("AZ1")
    R = Dic.Item(Stt)
    If R Then Sheets("VoVa").Range("S" & R) = .Range("G34").Value
End With
Set Dic = Nothing
End Sub
 
Upvote 0
Vậy mà cứ tưởng cái gì khó lắm không giám làm
Bạn gắn cái Code này vào nút Spin bên Sheets("KLL-K95") thử xem
PHP:
Sub Khohieuqua()
    Dim Dic As Object, sArr(), I As Long, R As Long, Stt As Long
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("VoVa")
    sArr = .Range("A1", .Range("A65535").End(xlDown)).Value
End With
For I = 3 To UBound(sArr)
    Dic.Item(sArr(I, 1)) = I
Next I
With Sheets("KLL-K95")
    Stt = .Range("AZ1")
    R = Dic.Item(Stt)
    If R Then Sheets("VoVa").Range("S" & R) = .Range("G34").Value
End With
Set Dic = Nothing
End Sub
vâng! để em thử
 
Upvote 0
Vậy mà cứ tưởng cái gì khó lắm không giám làm
Bạn gắn cái Code này vào nút Spin bên Sheets("KLL-K95") thử xem
PHP:
Sub Khohieuqua()
    Dim Dic As Object, sArr(), I As Long, R As Long, Stt As Long
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("VoVa")
    sArr = .Range("A1", .Range("A65535").End(3).Value
End With
For I = 3 To UBound(sArr)
    Dic.Item(sArr(I, 1)) = I
Next I
With Sheets("KLL-K95")
    Stt = .Range("AZ1")
    R = Dic.Item(Stt)
    If R Then Sheets("VoVa").Range("S" & R) = .Range("G34").Value
End With
Set Dic = Nothing
End Sub
Anh chỉnh lại hộ em chút chạy code nhập số Imputbox bắt đầu thay cho AZ
ô BC1 em có hàm tìm được số lớp là 17 chạy 1 loạt 17 lần luôn

Untitled.png
 
Upvote 0
Anh chỉnh lại hộ em chút chạy code nhập số Imputbox bắt đầu thay cho AZ
ô BC1 em có hàm tìm được số lớp là 17 chạy 1 loạt 17 lần luôn

View attachment 185792
Bạn chay cái này thử
PHP:
Sub Quaphuctap()
    Dim Dic As Object, sArr(), I As Long, R As Long, Stt As Long
    Dim Nmax As Long
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("VoVa")
    sArr = .Range("A1", .Range("A65535").End(3)).Value
End With
For I = 3 To UBound(sArr)
    Dic.Item(sArr(I, 1)) = I
Next I
With Sheets("KLL-K95")
    Nmax = .Range("BC1").Value
    For I = 101 To Nmax + 100
        .Range("GA1") = I
        R = Dic.Item(I)
        If R Then Sheets("VoVa").Range("S" & R) = .Range("G34").Value
    Next I
End With
Set Dic = Nothing
End Sub
 
Upvote 0
Bạn chay cái này thử
PHP:
Sub Quaphuctap()
    Dim Dic As Object, sArr(), I As Long, R As Long, Stt As Long
    Dim Nmax As Long
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("VoVa")
    sArr = .Range("A1", .Range("A65535").End(3)).Value
End With
For I = 3 To UBound(sArr)
    Dic.Item(sArr(I, 1)) = I
Next I
With Sheets("KLL-K95")
    Nmax = .Range("BC1").Value
    For I = 101 To Nmax + 100
        .Range("GA1") = I
        R = Dic.Item(I)
        If R Then Sheets("VoVa").Range("S" & R) = .Range("G34").Value
    Next I
End With
Set Dic = Nothing
End Sub
Chưa đúng ý anh ạ: ô BC1 em có hàm tìm được số lớp là 17 chạy 1 loạt 17 lần luôn ở cột S kết quả giống bên cột N ý anh ạ. Phiền anh chỉnh lại em chútScreenshot 2017-10-30 21.52.45.png
 
Upvote 0
Chưa đúng ý anh ạ: ô BC1 em có hàm tìm được số lớp là 17 chạy 1 loạt 17 lần luôn ở cột S kết quả giống bên cột N ý anh ạ. Phiền anh chỉnh lại em chútView attachment 185798
Thật sự là đến bây giờ mình cũng chưa hiểu gì hết đâu nha
Về lý thuyết càng đắp nên cao thì chiều rộng mặt đường nhỏ lại theo hệ số mái. Do đó diện tích đắp cũng nhỏ đi theo từng lớp đắp. Mà không biết bạn đang làm gì mà một đoạn có 17 lớp mà khối lượng mỗi một lớp đắp lại bằng nhau được chứ ...
 
Upvote 0
Thật sự là đến bây giờ mình cũng chưa hiểu gì hết đâu nha
Về lý thuyết càng đắp nên cao thì chiều rộng mặt đường nhỏ lại theo hệ số mái. Do đó diện tích đắp cũng nhỏ đi theo từng lớp đắp. Mà không biết bạn đang làm gì mà một đoạn có 17 lớp mà khối lượng mỗi một lớp đắp lại bằng nhau được chứ ...
mục đích của em là copy khối lượng từng lớp vào bảng list chính để xuất vào biên bản. sheets(KLL-K95) là bảng chi tiết, kết quả đã được lấy từ sheet tổng hợp em ẩn đi. Mục đích cuối cùng là tổng hợp KL từng lớp ra list chính
em quản lý hồ sơ về 1 list chính, phục vụ rất nhiều việc, vídu: xuất ra nhật ký, phân khai KL hàng tháng để làm điều chỉnh giá, theo dõi kl nghiệm thu so với PLuc hợp đồng..vv
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Thật sự là đến bây giờ mình cũng chưa hiểu gì hết đâu nha
Về lý thuyết càng đắp nên cao thì chiều rộng mặt đường nhỏ lại theo hệ số mái. Do đó diện tích đắp cũng nhỏ đi theo từng lớp đắp. Mà không biết bạn đang làm gì mà một đoạn có 17 lớp mà khối lượng mỗi một lớp đắp lại bằng nhau được chứ ...
anh ơi! em viết đến đây! giờ làm sao khi chạy code sheets("KLL-K95").range("AZ1") cộng thêm i ở vòng for
-----------------------
Sub activeCell_K953()
Dim i, iMax As Long
Dim KQk95 As Long
Dim iMaBB As Range
With Sheets("KLL-K95")
KQk95 = .Range("G200")
iMax = .Range("BC1")
Set iMaBB = .Range("AZ1")
End With
For i = 0 To iMax - 1
ActiveCell.Offset(i) = KQk95
Next i
Application.CutCopyMode = False
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom