Lấy tên Column từ vị trí đang đúng

Liên hệ QC

thetrungkien

Thành viên mới
Tham gia
19/12/07
Bài viết
41
Được thích
14
mình có một chương trình đọc dữ liệu tự động tức các file tex khoảng 40 file và mối file sẽ được đọc vào một cột trong Excel (trên dòng thứ 2 của mỗi cột là mã của đơn vị tương ưng với mã của mỗi file có trong file tex ví dụ
BG#31032010#65902009#
1011#95840574#0#4231732200#4305455522#22117252#0#
13111#1608800#0#4500#0#1613300#0#
13119#219428650#0#1381451300#1278741320#322138630#0#
13121#300000000#0#0#300000000#0#0#
13129#400000000#0#0#200000000#200000000#0#
65902009 (đây là mã của đơn vị)
và các file được đọc ngẫu nhiên rồi so sách với dòng thứ 2 của các cột để chọn cột đển dữ liệu
và trước khi xác định được cột để đền dữ liệu thì sẽ xóa hết dữ liệu trong cột đó (khoảng 400 dòng) và xóa từ Cells thứ 3 cho đến Cells 400
Hàm để xóa của mình như thế này

Private Sub Xoa()
xoahang = 3
Xoaden = 400
Do Until xoahang > Xoaden
Solieu.Cells(xoahang, Cot).Select
Selection.ClearContents
Selection.NumberFormat = "#,##0_);[Red](#,##0)"
xoahang = xoahang + 1
Loop
End sub
trong đó (Cot) là cột được xác định để đưa dữ liệu vào và số có thể là 5 hay 11 tùy vào mã của đơn vị
+ Tóm lại:
xóa như hàm mình viết thì hơi lâu lâu gấp 400 lần so với câu lệnh này (nếu xác định được cột đó là cột "C"
Solieu.Cells.Range("C" & xoahang & ":" & "C" & Xoaden).Select
Selection.ClearContents
+ Vì vậy mìng mong các bạn giúp mình làm sao để biết vị trí đang đứng (VD: Cot=15) thì tương ứng với cells đó là cột "O"
 
Dùng code thay thế, không nhất thiết phải biết tên cột là gì.
PHP:
With Range(Solieu.Cells(xoahang, Cot), Solieu.Cells(xoaden, Cot))
    .ClearContents
    .NumberFormat = "#,##0_);[Red](#,##0)"
End With
 
Lang thang trên net tình cờ nhặt được hàm này
Bạn xem có dùng được không ?
 

File đính kèm

  • Đổi số cột ra dạng chữ.doc
    26.5 KB · Đọc: 25
Thực sự lấy Ký tự cột thì dùng hàm Excel cũng được (Giả sử cần tìm ký tự cột của ô D5):

1/=MID(ADDRESS(ROW(D5),COLUMN(D5)),2,FIND("$",ADDRESS(ROW(D5),COLUMN(D5)),2)-2)

2/=MID(CELL("address",D5),2,FIND("$",CELL("address",D5),2)-2)
 
Lần chỉnh sửa cuối:
Thực sự lấy Ký tự cột thì dùng hàm Excel cũng được (Giả sử cần tìm ký tự cột của ô D5):

1/=MID(ADDRESS(ROW(D5),COLUMN(D5)),2,FIND("$",ADDRESS(ROW(D5),COLUMN(D5)),2)-2)

2/=MID(CELL("address",D5),2,FIND("$",CELL("address",D5),2)-2)
Công thức này mới là ngắn nhất nè:
PHP:
=SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,"")
Mời anh xem tại đây:
Get Column letter, lấy tên cột tại 1 cell
Và nếu có nhu cầu viết hàm bằng VBA thì cũng sẽ dựa trên cơ sở này
 
Web KT
Back
Top Bottom