-
07-04-2015, 05:02 PM #51Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Tìm & gôm các mã trùng, sau đó thểm dòng & tính tổng trên dòng đã thêm
Trong file em muốn tìm đúng mã ở cột SoPhieu (vùng A), đưa kết quả vô vùng B. Sau đó thêm dòng, tính tổng. Như trong file đính kèm.
-
07-29-2015, 01:59 PM #52Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Chào mọi người, cho em hỏi trong excel ở cột F em muốn chèn tự động 2 dòng dưới ONT+CLN Và ONT+BHK, dữ liệu có khi tới 100.000 nghìn dòng, nếu làm thủ công thì lâu, mong mọi người chỉ giúp. Cảm ơn.
http://www.******************/forum/showthread.php?91268-Code-tự-động-thêm-dòng
-
10-12-2015, 09:34 PM #53Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
TRong hình ta có 2 bảng dữ liệu; Bảng bên trái là dữ liệu gốc;
Giờ tác giả muốn thêm số dòng ứng với số nhóm của cột [G] (phòng thi)
Giả dụ tại [G5] ta có 'C103/C203/D034' thì cần thêm 3 dòng,. . . để đạt được kết quả như bảng dữ liệu bên fải
Sau đây là macro làm nên điều đó:
Mã nguồn PHP:[COLOR=#000000]
Option ExplicitSub ThemDongDL[/COLOR][COLOR=#007700]() [/COLOR][COLOR=#0000BB]Dim Rws [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Dm [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Byte[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]VTr [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Byte Dim Tmp[/COLOR][COLOR=#007700]$, [/COLOR][COLOR=#0000BB]CuThe [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]Dim Arr[/COLOR][COLOR=#007700]() Const [/COLOR][COLOR=#0000BB]FC [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"/" [/COLOR][COLOR=#0000BB]Sheets[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"Du Lieu"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Select Rws [/COLOR][COLOR=#007700]= [[/COLOR][COLOR=#0000BB]b2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]CurrentRegion[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Rows[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Count ReDim dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1 To 9 [/COLOR][COLOR=#007700]* [/COLOR][COLOR=#0000BB]Rws[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1 To 10[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]() = [[/COLOR][COLOR=#0000BB]b2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Rws[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]10[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]1 To UBound[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]()) If [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]6[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#DD0000]"" [/COLOR][COLOR=#0000BB]Then [/COLOR][COLOR=#007700]Exit For If [/COLOR][COLOR=#0000BB]InStr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]6[/COLOR][COLOR=#007700]), [/COLOR][COLOR=#0000BB]FC[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Then Tmp [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]6[/COLOR][COLOR=#007700]) & [/COLOR][COLOR=#0000BB]FC [/COLOR][COLOR=#007700]Do [/COLOR][COLOR=#0000BB]VTr [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]InStr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Tmp[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]FC[/COLOR][COLOR=#007700]) If [/COLOR][COLOR=#0000BB]VTr [/COLOR][COLOR=#007700]< [/COLOR][COLOR=#0000BB]1 Then [/COLOR][COLOR=#007700]Exit Do [/COLOR][COLOR=#0000BB]CuThe [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Left[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Tmp[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]VTr [/COLOR][COLOR=#007700]- [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]Dm [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]2 To 10 [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Dm [/COLOR][COLOR=#007700]<> [/COLOR][COLOR=#0000BB]8 Then dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Dm[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Dm [/COLOR][COLOR=#007700]- [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) Else [/COLOR][COLOR=#0000BB]dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]8[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]CuThe End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Next Dm Tmp [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Mid[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Tmp[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]VTr [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Len[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Tmp[/COLOR][COLOR=#007700])) [/COLOR][COLOR=#0000BB]Loop [/COLOR][COLOR=#007700]Else [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]Dm [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]2 To 10 [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Dm [/COLOR][COLOR=#007700]<> [/COLOR][COLOR=#0000BB]8 Then dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Dm[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Dm [/COLOR][COLOR=#007700]- [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) Else [/COLOR][COLOR=#0000BB]dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]8[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]6[/COLOR][COLOR=#007700]) & [/COLOR][COLOR=#DD0000]"." [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Next Dm End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Next J [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]L2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]10[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]dArr[/COLOR][COLOR=#007700]()[/COLOR][COLOR=#0000BB]End Sub [/COLOR]
-
10-23-2015, 03:50 AM #54Junior Member
- Ngày tham gia
- Dec 2015
- Bài viết
- 0
Giả dụ mình có 1 bảng dữ liệu (gồm nhiều hàng & 15 cột) như sau:
Mã nguồn PHP:[COLOR=#000000]
AA BxB [/COLOR][COLOR=#007700]. . . [/COLOR][COLOR=#0000BB]11[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]132[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]963BC YxY [/COLOR][COLOR=#007700]. . . [/COLOR][COLOR=#0000BB]14[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]201[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]121[/COLOR]
Mã:AA BxB . . . 11 AA BxB . . . 132 AA BxB . . . 963 BC YxY . . . 14 BC YxY . . . 201 BC YxY . . . 121
Mã nguồn PHP:[COLOR=#000000]
Option ExplicitSub TachDong[/COLOR][COLOR=#007700]()[/COLOR][COLOR=#0000BB]Dim sArr[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]Dim xArrDim I [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Z[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]F [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]LongWith Sheet1 J [/COLOR][COLOR=#007700]= .[[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]CurrentRegion[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Rows[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Count sArr [/COLOR][COLOR=#007700]= .[/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700](.[[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]], .[[/COLOR][COLOR=#0000BB]A65000[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xlUp[/COLOR][COLOR=#007700])).[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700](, [/COLOR][COLOR=#0000BB]15[/COLOR][COLOR=#007700])[/COLOR][COLOR=#0000BB]End WithReDim Darr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1 To 9 [/COLOR][COLOR=#007700]* [/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1 To 15[/COLOR][COLOR=#007700])[/COLOR][COLOR=#0000BB]On Error Resume Next[/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]I [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]1 To UBound[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]sArr[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]xArr [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Split[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]sArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]I[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]15[/COLOR][COLOR=#007700]), [/COLOR][COLOR=#DD0000]";"[/COLOR][COLOR=#007700]) For [/COLOR][COLOR=#0000BB]Z [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0 To UBound[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xArr[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1 Darr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]W Darr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]15[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]xArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Z[/COLOR][COLOR=#007700]) For [/COLOR][COLOR=#0000BB]F [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]2 To 14 Darr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]F[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]sArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]I[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]F[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Next F Next ZNext IWith Sheet2 [/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]O50000[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]ClearContents [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]W Then [/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]15[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Darr J [/COLOR][COLOR=#007700]= .[[/COLOR][COLOR=#0000BB]A65000[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]3[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Row [/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]O65000[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Borders[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]LineStyle [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0 [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"A2:O" [/COLOR][COLOR=#007700]& [/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Borders[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]LineStyle [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]1 [/COLOR][COLOR=#007700]Else .[[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]O65000[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Borders[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]LineStyle [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0 [/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]O65000[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]ClearContents End [/COLOR][COLOR=#007700]If[/COLOR][COLOR=#0000BB]End WithEnd Sub[/COLOR]
-
12-16-2015, 02:14 PM #55Junior Member
- Ngày tham gia
- Dec 2015
- Bài viết
- 0
Mình có dữ liệu như như bảng bên trái của hình;
Giờ muốn tái cấu trúc lại thành dữ liệu như bên fải của hình; Khi đó ta cần xài macro như sau:
Mã nguồn PHP:[COLOR=#000000]
Option ExplicitSub GPE_ThemDong[/COLOR][COLOR=#007700]() [/COLOR][COLOR=#0000BB]Dim Arr[/COLOR][COLOR=#007700](), [/COLOR][COLOR=#0000BB]Dict [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Object Dim J [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Col [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Byte Dim Tmp [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String Set Dict [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]CreateObject[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"Scripting.Dictionary"[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]With Sheets[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"Data"[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Arr [/COLOR][COLOR=#007700]= .[/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700](.[[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]], .[[/COLOR][COLOR=#0000BB]D65000[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]3[/COLOR][COLOR=#007700])).[/COLOR][COLOR=#0000BB]Value ReDim dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1 To 2 [/COLOR][COLOR=#007700]* [/COLOR][COLOR=#0000BB]UBound[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]()), [/COLOR][COLOR=#0000BB]1 To 4[/COLOR][COLOR=#007700]) For [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]1 To UBound[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]()) [/COLOR][COLOR=#0000BB]Tmp [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) If [/COLOR][COLOR=#0000BB]Not Dict[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Exists[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Tmp[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Then W [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]Dict[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Add Tmp[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]W dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]Tmp[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1 [/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]Col [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]2 To 4 dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Col[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Col[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Next Col [/COLOR][COLOR=#007700]Else [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1 [/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]Col [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]2 To 4 dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Col[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Col[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Next Col End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Next J End With [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]g2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]4[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]dArr[/COLOR][COLOR=#007700]()[/COLOR][COLOR=#0000BB]End Sub[/COLOR]
-
01-24-2016, 08:38 PM #56Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Chào các anh chị, Tôi có file excel muốn thêm dòng trắng tự động giữa các số chứng từ cách nhau. Ví dụ từ A2: A6 là từ chứng từ 138 đến 142. Bây giờ ô A7 là: số chứng từ 149. Bây giờ tôi muốn giữa dòng 6 và 7, thêm 6 dòng trắng (149-142=7) thì không biết có được không. Tôi chỉ cần thêm dòng trắng thôi. Tương tự với số chứng từ tiếp theo.Mã nguồn PHP:[COLOR=#000000]
Option ExplicitSub ThemDong[/COLOR][COLOR=#007700]() [/COLOR][COLOR=#0000BB]Dim J [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Rws [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Tmp [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Byte[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long Dim Arr[/COLOR][COLOR=#007700]() [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]() = [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([[/COLOR][COLOR=#0000BB]A3[/COLOR][COLOR=#007700]], [[/COLOR][COLOR=#0000BB]A3[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xlDown[/COLOR][COLOR=#007700])).[/COLOR][COLOR=#0000BB]Value Rws [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]UBound[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]()) [/COLOR][COLOR=#0000BB]ReDim dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1 To 9 [/COLOR][COLOR=#007700]* [/COLOR][COLOR=#0000BB]Rws[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1 To 1[/COLOR][COLOR=#007700]) As [/COLOR][COLOR=#0000BB]String [/COLOR][COLOR=#007700]Do [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1 [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]UBound[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]()) [/COLOR][COLOR=#0000BB]Then dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]): Exit Do [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Tmp [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) - [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]): [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1 dArr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]Arr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) If [/COLOR][COLOR=#0000BB]Tmp [/COLOR][COLOR=#007700]> [/COLOR][COLOR=#0000BB]1 Then W [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]Tmp [/COLOR][COLOR=#007700]- [/COLOR][COLOR=#0000BB]1 Loop [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]A2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]W [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]dArr[/COLOR][COLOR=#007700]()[/COLOR][COLOR=#0000BB]End Sub[/COLOR]
-
05-11-2016, 04:44 AM #57Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Bạn giúp mình làm file này với, mình nhờ bên giải pháp excel đã lâu mà kg ai giúp mình được, cảm ơn bạn nhiều nhé!
http://www.******************/forum/...-dòng-ở-các-sheet-khi-nhập-số-liệu&highlight=
-
07-02-2016, 08:55 PM #58Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Bỡi do nhìn vô thiết kế CSDL của file thấy mà ngộp, chắc vậy!
Mình thảo luận vấn đề sau:
Với trang 'Nhap Doanh Thu' (Tên quá dài; chỉ nên là NhapDT) sao bạn không đẩy dòng 11 hiện giờ (đang chứa công thức tổng) xuống dòng 999# nào đó; & cho ẩn hết các dòng không chứa dữ liệu trước 999# đó đi.
Khi đó nếu nhập vô ô nào đó của dòng trắng đầu tiên sau dòng cuối chứa dữ liệu thì hiện thêm 1 dòng trắng nữa chờ sẵn.
Khi đó macro sự kiện chỉ làm mỗi việc cho hiện dòng ẩn đầu tiên trong nhóm dòng đã ẩn lên thôi;
Còn nói về công thức, chỉ có mỗi một ở cột [Q:Q] thôi, fải không? chuyện này cũng dễ giải quyết mà!
Dự án căn hộ cao cấp Eaton Park được phát triển bởi Gamuda Land độc đáo bền vững tầm nhìn rộng bài trí hài hòa. Eaton Park độc đáo bền vững giá ưu đãi phú hợp văn hóa. Dự án khẳng định thương hiệu,...
Eaton Park tiện ích hạng sang vị trí đẹp