lấy dữ liệu từ sheet này đứa sang sheet khác (1 người xem)

Liên hệ QC

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

hoangngoc72007

Thành viên mới
Tham gia
28/6/09
Bài viết
17
Được thích
0
mình cần làm thế này khi đưa chuột vào dòng nào ở sheet 1 và bấm vào nút nào đó thì hàng đó sẽ được copy và paste vào sheet 2, dư liệu ở sheet 2 cứ liên tiếp nhau và cách trình bày cấu trúc bảng ở 2 sheet như nhau. mong các bác bớt chút thời gian suy nghĩ và giúp em cái
 

File đính kèm

Lần chỉnh sửa cuối:
mình cần làm thế này khi đưa chuột vào dòng nào ở sheet 1 và bấm vào nút nào đó thì hàng đó sẽ được copy và paste vào sheet 2, dư liệu ở sheet 2 cứ liên tiếp nhau và cách trình bày cấu trúc bảng ở 2 sheet như nhau. mong các bác bớt chút thời gian suy nghĩ và giúp em cái
Dùng code sau của thầy Tuấn nhé.

Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Range("g2:g100"), Target) Is Nothing Then
    Application.ScreenUpdating = False
    Target.Value = IIf(Target = "", "a", "")
    Sheet2.Range("A:G").Clear
    With Sheet1.Range("A1").CurrentRegion
      .AutoFilter 7, "a"
      .SpecialCells(12).Copy Sheet2.Range("A1")
      .AutoFilter
    End With
    Target(2).Select
    Application.ScreenUpdating = True
  End If
End Sub
Lưu ý: Double click vào dòng ở cột G
 

File đính kèm

Lần chỉnh sửa cuối:
mình cần làm thế này khi đưa chuột vào dòng nào ở sheet 1 và bấm vào nút nào đó thì hàng đó sẽ được copy và paste vào sheet 2, dư liệu ở sheet 2 cứ liên tiếp nhau và cách trình bày cấu trúc bảng ở 2 sheet như nhau. mong các bác bớt chút thời gian suy nghĩ và giúp em cái
Right Click vào Sheet1 ==> View Code ==> chép cái này vào
Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Sheets("sheet2").[a1000].End(xlUp)(2).Resize(, 6).Value = ActiveCell.Resize(, 6).Value
End Sub
Muốn chép dòng nào thò anh Tý vào dòng đó ở cột A, Double Click, sang Sheet2 xem kết quả
Thân
 
Right Click vào Sheet1 ==> View Code ==> chép cái này vào
Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Sheets("sheet2").[a1000].End(xlUp)(2).Resize(, 6).Value = ActiveCell.Resize(, 6).Value
End Sub
Muốn chép dòng nào thò anh Tý vào dòng đó ở cột A, Double Click, sang Sheet2 xem kết quả
Thân
Lưu ý là code này nếu như Double click vào cột khác thì nó sẽ cho ra kết quả sai + nếu double click 2 lần trong 1 dòng thì nó sẽ cho ra 2 dòng có dữ liệu giống nhau...
 
Lưu ý là code này nếu như Double click vào cột khác thì nó sẽ cho ra kết quả sai + nếu double click 2 lần trong 1 dòng thì nó sẽ cho ra 2 dòng có dữ liệu giống nhau...
Hihi, "zị" mới dặn bạn í thò anh Tý vào cột A, còn nếu muốn cột nào cũng được thì sửa lại tí tẹo
Còn Double Click 2 lần trong một dòng thì "záng" chịu, nếu phức tạp thì tạo nút rồi ...bấm
Híc
Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Sheets("sheet2").[a1000].End(xlUp)(2).Resize(, 6).Value = ActiveCell.Offset(, -(ActiveCell.Column - 1)).Resize(, 6).Value
End Sub
 
híc vậy các bác tạo cho em một cái button đc không chứ để thế này nghe chừng nguy hiểm quá và nếu đc các bác làm cho em một nút xoá ở sheet 2 luôn.em không phải dân chuyên ngành nên ngồi đọc tài liệu rồi tự làm chắc già mất.nên mong các bác giúp cho.
 
Lần chỉnh sửa cuối:
bác domfootwear ơi
sao nó chỉ copy sang sheet 2 được có 2 dòng nhỉ ?
(dòng 9 và 10), anh chỉ bảo giúp
cái này copy nhanh đấy nhỉ, cám ơn anh nhé
thanks


 
bác domfootwear ơi
sao nó chỉ copy sang sheet 2 được có 2 dòng nhỉ ?
(dòng 9 và 10), anh chỉ bảo giúp
cái này copy nhanh đấy nhỉ, cám ơn anh nhé
thanks



Vùng dữ liệu copy đến dòng 100, bạn muốn copy dòng nào thì Double click vào cell của cột G thì nó sẽ copy qua sheet2
 
Dùng code sau của thầy Tuấn nhé.

Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Range("g2:g100"), Target) Is Nothing Then
    Application.ScreenUpdating = False
    Target.Value = IIf(Target = "", "a", "")
    Sheet2.Range("A:G").Clear
    With Sheet1.Range("A1").CurrentRegion
      .AutoFilter 7, "a"
      .SpecialCells(12).Copy Sheet2.Range("A1")
      .AutoFilter
    End With
    Target(2).Select
    Application.ScreenUpdating = True
  End If
End Sub
Lưu ý: Double click vào dòng ở cột G
Híc giúp em thêm tí nữa cái em lấy file của bác về copy dữ liệu vào em làm đc với file khác rồi nhưng đến file này thì lại bị lỗi mà chẳng biết sữa sao nữa
 

File đính kèm

Híc giúp em thêm tí nữa cái em lấy file của bác về copy dữ liệu vào em làm đc với file khác rồi nhưng đến file này thì lại bị lỗi mà chẳng biết sữa sao nữa
Dữ liệu của bạn có cột trắng nên khi dùng CurrentRegion thì nó chỉ định nghĩa được đến cột D (4 cột) ---> Từ đó sẽ bị lỗi tại dòng
.AutoFilter 7, "a" ---> Vì dữ liệu không đủ 7 cột
Vậy sửa cái này:
With Sheet1.Range("A1").CurrentRegion
thành:
With Sheet1.Range("A1").CurrentRegion.Resize(, 7)
Là được
 
Dữ liệu của bạn có cột trắng nên khi dùng CurrentRegion thì nó chỉ định nghĩa được đến cột D (4 cột) ---> Từ đó sẽ bị lỗi tại dòng
.AutoFilter 7, "a" ---> Vì dữ liệu không đủ 7 cột
Vậy sửa cái này:
With Sheet1.Range("A1").CurrentRegion
thành:
With Sheet1.Range("A1").CurrentRegion.Resize(, 7)
Là được
mình chẳng sửa được , các sis sửa lại dùm cho mọi người củng tahm khảo
 

File đính kèm

Web KT

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

Back
Top Bottom