Hỏi cách chuyển dữ liệu từ 2 cột thành 1 cột có chỉ số trên

Liên hệ QC

nguyen minh hang

Thành viên mới
Tham gia
7/10/09
Bài viết
1
Được thích
0
Chào các bác.
Em muốn dùng VBA để thực hiện công việc như sau
Số 1|Số 2|Cần
2||2
3|1|3 1
4|2|4 2
5||5
|3|0 3
||
6||6
7|4|7 4
Trong cột "Cần" thì "Số 2" được thể hiện ở chỉ số trên, nếu cả 2 số là 0 thì không thể hiện, nếu số 1 khác 0 và số 2 là 0 thì chỉ thể hiện số 1, nếu số 1 là 0 và số 2 khác 0 thì vẫn thể hiện số 1 là 0.
Mong được chỉ giáo.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Mình chỉ chuyển chúng thành dạng chuỗi được thôi, bằng macro sau:

PHP:
Option Explicit
Sub Superscript()
 Dim Cls As Range, Rng As Range
 
 For Each Cls In Range([A2], [A65500].End(xlUp))
   With Cls
      If .Offset(, 1).Value <> "" Then
         If .Value <> "" Then
            .Offset(, 2).Value = "'" & .Value & .Offset(, 1).Value
         ElseIf .Value = "" Or .Value = 0 Then
            .Offset(, 2).Value = "'0" & .Offset(, 1).Value
         End If
         Set Rng = .Offset(, 2):       GoTo GPE
      ElseIf .Value <> "" Then
         .Offset(, 2).Value = "'" & .Value
      End If
   End With
TroVe:   Next Cls
 Exit Sub
GPE:
   With Rng.Characters(Start:=2, Length:=1).Font
      .Size = 13
      .Superscript = True
   End With
   GoTo TroVe
End Sub
 
Upvote 0
Xin có đôi lời trao đổi.
Mã:
[COLOR=#000000][COLOR=#0000bb]Range[/COLOR][COLOR=#007700]([[/COLOR][COLOR=#0000bb]A2[/COLOR][COLOR=#007700]], [[/COLOR][COLOR=#0000bb]A65500[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000bb]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]xlUp[/COLOR][COLOR=#007700]))[/COLOR][/COLOR]
Không lấy hết được vùng khi dòng cuối cột A không có dữ liệu nhưng cột B vẫn có.

Mã:
[COLOR=#007700]([/COLOR][COLOR=#0000bb]Start[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000bb]2[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]Length[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000bb]1[/COLOR][COLOR=#007700])[/COLOR]
Cần thay đổi để phù hợp với dữ liệu cột A và B là số có nhiều hơn 1 chữ số.
 
Upvote 0
Mã:
 [COLOR=#000000][COLOR=#0000bb]Range[/COLOR][COLOR=#007700]([[/COLOR][COLOR=#0000bb]A2[/COLOR][COLOR=#007700]], [[/COLOR][COLOR=#0000bb]A65500[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000bb]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]xlUp[/COLOR][COLOR=#007700])) [/COLOR][/COLOR]




Không lấy hết được vùng khi dòng cuối cột A không có dữ liệu nhưng cột B vẫn có.


Đúng là chưa soát xét hết đến vấn đề bạn nêu;

Vậy ta fải tìm ô cuối cùng của 2 cột 'A' & 'B' có chứa dữ liệi theo dòng lệnh sau:

PHP:
 Columns("A:B").Find("*").Row
Còn vấn đề thứ hai mà bạn đề cập, thì theo mình thiếu sót lớn hơn ở chủ topic. Bao nhiêu dòng ví dụ mà đâu có dòng nào thuộc cột 'A' hay 'B' có 2 ký số đâu.
(Nếu bạn ấy ngứa, sẽ gãi tiếp, No start where.]; he, he,. . . )






 
Upvote 0
Web KT

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

Back
Top Bottom