Xin hỗ trợ cách lấy value trong vùng chọn của chuột để xử lý

  • Thread starter ginkgo36
  • Ngày gửi
G

ginkgo36

Guest
5/11/17
1
1
1
36
Xin chào các thầy, cô và các anh, chị em,
Nhờ mọi người trợ em xử lý tình huống như thế này chút.

Ở ô A2 em có value: "Văn phòng đại diện VnExpress tại Tp.HCM: Tầng 6, Tòa nhà Exchange Tower- số 1 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1, Tp.HCM"

Trong chuỗi này em muốn tạo nhiều macro để xử lý như sau.
Marco 1 (có thể gắn phím tắt là ctrl+1 chẳng hạn): Để xác định tên công ty. Em tô đen chuỗi "VnExpress" và nhấn ctrl + 1 thì chuỗi sẽ chuyển thành: "Văn phòng đại diện <VnExpress>/Company tại Tp.HCM: Tầng 6, Tòa nhà Exchange Tower- số 1 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1, Tp.HCM"

Macro 2 (ctrl + 2): Để xác định Location. Em tô đen chuỗi "Tp.HCM" và nhẫn ctrl + 2 thì chuỗi sẽ chuyển thành: "Văn phòng đại diện <VnExpress>/Company tại <Tp.HCM>/Loc: Tầng 6, Tòa nhà Exchange Tower- số 1 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1, Tp.HCM"

Macro 3 (ctrl + 3): Để xác định vị trí. Em tô đen chuỗi "Tầng 6, Tòa nhà Exchange Tower- số 1 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1" và nhấn ctrl + 3 thì chuỗi sẽ chuyển thành: "Văn phòng đại diện <VnExpress>/Company tại <Tp.HCM>/Loc: <Tầng 6_Tòa_nhà_Exchange_Tower_số_1_Nam_Kỳ_Khởi_Nghĩa_Phường_Nguyễn_Thái_Bình_
Quận 1>/Address
, Tp.HCM"

Em có record macro để xem excel xử lý những cách chọn vùng và xử lý các vùng đã chọn như thế nào. Thì thấy:
1. Không có khúc xử lý khi mình gõ thêm <>/Company (phần chuỗi mình muốn thêm khi chọn 1 chuỗi)

2. Phần chọn chuỗi để tô đậm (Bold) thì có khúc "Start:=21, Length:=18" như bên dưới:

With ActiveCell.Characters(Start:=21, Length:=18).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With

Em muốn hỏi làm sao để khúc này có thể flexible được ạ. Vì chuỗi mình chọn có thể nằm ở bất kì vị trí cũng như chiều dài. Làm sao để mình có thể xử lý được chỗ này?

Xin cám ơn mọi người
 
Khóa học Quản trị dòng tiền
The Hoang

The Hoang

Kế Toán Dạo
Thành viên BQT
Quản lý cao cấp
11/8/05
2,416
286
83
Sài Gòn - Phan Thiết
Chào bạn,
Xin chào các thầy, cô và các anh, chị em,
Nhờ mọi người trợ em xử lý tình huống như thế này chút.

Ở ô A2 em có value: "Văn phòng đại diện VnExpress tại Tp.HCM: Tầng 6, Tòa nhà Exchange Tower- số 1 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1, Tp.HCM"

Trong chuỗi này em muốn tạo nhiều macro để xử lý như sau.
Marco 1 (có thể gắn phím tắt là ctrl+1 chẳng hạn): Để xác định tên công ty. Em tô đen chuỗi "VnExpress" và nhấn ctrl + 1 thì chuỗi sẽ chuyển thành: "Văn phòng đại diện <VnExpress>/Company tại Tp.HCM: Tầng 6, Tòa nhà Exchange Tower- số 1 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1, Tp.HCM"

Macro 2 (ctrl + 2): Để xác định Location. Em tô đen chuỗi "Tp.HCM" và nhẫn ctrl + 2 thì chuỗi sẽ chuyển thành: "Văn phòng đại diện <VnExpress>/Company tại <Tp.HCM>/Loc: Tầng 6, Tòa nhà Exchange Tower- số 1 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1, Tp.HCM"

Macro 3 (ctrl + 3): Để xác định vị trí. Em tô đen chuỗi "Tầng 6, Tòa nhà Exchange Tower- số 1 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1" và nhấn ctrl + 3 thì chuỗi sẽ chuyển thành: "Văn phòng đại diện <VnExpress>/Company tại <Tp.HCM>/Loc: <Tầng 6_Tòa_nhà_Exchange_Tower_số_1_Nam_Kỳ_Khởi_Nghĩa_Phường_Nguyễn_Thái_Bình_
Quận 1>/Address
, Tp.HCM"

Em có record macro để xem excel xử lý những cách chọn vùng và xử lý các vùng đã chọn như thế nào. Thì thấy:
1. Không có khúc xử lý khi mình gõ thêm <>/Company (phần chuỗi mình muốn thêm khi chọn 1 chuỗi)

2. Phần chọn chuỗi để tô đậm (Bold) thì có khúc "Start:=21, Length:=18" như bên dưới:

With ActiveCell.Characters(Start:=21, Length:=18).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With

Em muốn hỏi làm sao để khúc này có thể flexible được ạ. Vì chuỗi mình chọn có thể nằm ở bất kì vị trí cũng như chiều dài. Làm sao để mình có thể xử lý được chỗ này?

Xin cám ơn mọi người
Chưa hiểu mục đích của bạn muốn tại macro để làm gì? Nếu chỉ là để in đậm một hay một nhóm từ trong 1 ô thì bạn có thể sử dụng cách làm chọn từ hoặc nhóm từ cần in đậm rồi Ctrl +B thay vì phải viết macro và gán thành Ctrl+1,2,3
 
T

trinhduykhanh02091991

Sơ cấp
18/3/16
17
1
3
32
ko hiu ý bạn
 

Xem nhiều

Webketoan Zalo OA