Định dạng kiểu số. Định dạng Comment. Hyperlink. Data filter. Kích thước dòng

Liên hệ QC

hoatruclam

Thành viên mới
Tham gia
29/10/12
Bài viết
10
Được thích
0
Mình có vài vấn đề với file excel của mình, xin nhờ tư vấn của mọi người. (Mình dùng Excel 2003)
- Định dạng kiểu số :
Mình có một cột ID có 8 chữ số. Với các số bắt đầu từ 1 -> 9 thì không nói, nhưng với các số mà bắt đầu từ 0 thì mình không biết định dạng thế nào. Mình cần cả cột được đặt chung 1 định dạng để khi mình nhập số 12345678 thì sẽ ra là 12345678, nhưng khi mình nhập số là 1234567 thì sẽ ra là 01234567, tương tự 123 thì sẽ thành 00000123. Nói tóm lại là luôn đủ 8 kí tự số, số nào thiếu tự động thêm số 0 ở đầu. Với các cách định dạng Custom "0"# hay "00"# mình cũng có thể làm được như ý muốn, nhưng phải nhập thủ công từng ô, như thế thì quá mất thời gian vì mình có tới vài ngàn dòng.

- Định dạng Comment :
Hiện tại khung Comment của mình được mặc định với Size là 0.77" x 1.33", mình muốn cài đặt cho tất cả các ô comment này đến kích cỡ khác, vd 3" x 2" , để khi mình tạo một comment mới thì tự động nó sẽ có kích thước là 3 x 2 inch chẳng hạn.
Nội dung trong comment luôn hiện dòng chữ "MrF" (tên máy tính của mình) được viết đậm, mình muốn định dạng lại thành không có gì hoặc thay bằng một chuỗi kí tự nào khác thì phải cài đặt như thế nào?

- Hyperlink :
Trong nhiều trường hợp mình dẫn link đến website, mình gặp khó khăn khi dẫn nhiều link trong 1 ô. Vd trong ô A1 mình đặt 2 link website là http://www.giaiphapexcel.comhttps://www.google.com.vn. Vậy mình cần làm thế nào để tách biệt 2 Hyperlink đó và truy cập được vào cả 2 website mà không cần phải chia làm 2 ô?
Ngoài ra trong rất nhiều trường hợp mình cần hyperlink đến một vị trí khác trong bảng theo từ khóa (không phải theo ô). Vd mình có một giá trị là "Thư viện của GPE rất thú vị" trong ô A1, ô A2 có nội dung là "Thư viện", ô A3 có nội dung là "GPE", vậy mình cần đặt hyperlink thế nào để khi mình click vào từ "Thư viện" thì sẽ nhảy tới ô A2 và khi click vào từ "GPE" thì sẽ nhảy tới ô A3?

- Data Filter :
Đây cũng là một vấn đề gây khó khăn đã lâu cho mình. VD: mình có một cột D tên là "Thể loại", giá trị trong cột gồm "Kinh dị", "Trinh thám", Hành động", "Hài". v.v.. Ô D2 có giá trị là "Kinh dị", D3 có giá trị là "Trinh thám", D4 có giá trị là "Hành động"... Khi dùng Data Filter để lọc, chọn điều kiện lọc là "Hành động" sẽ hiện ra dòng tương ứng với ô D4. Vấn đề của mình là mình có ô D5 có giá trị là "Hành động, Trinh thám", mình muốn khi lọc với điều kiện là "Hành động" thì hiện cả dòng tương ứng của ô D4 lẫn D5.
- Định dạng kích thước dòng :
Ban đầu mình chọn 1 trong các điều kiện định dạng là "Wrap Text" Như vậy khi mình nhập 1 đoạn văn bản dài 1 dòng, ô sẽ giữ ở size của 1 dòng, khi mình nhập đoạn văn bản tốn hết 2 dòng thì ô tự động nhảy size vừa với 2 dòng. Nhưng khi mình cài đặt lại kích thước dòng (ban đầu là 12,75 thì bé quá, mình chỉnh lên 20) thì dòng lại không tự động nhảy size nữa. Lúc này mình có nhập đoạn văn bản dài 50 dòng thì kích thước vẫn là 20. Mình muốn đặt kích thước các dòng bình thường là 20, nhưng các dòng có nội dung dài thì tự động điều chỉnh để hiển thị hết toàn bộ.

Các vấn đề trên mình tìm kiếm ở nhiều diễn đàn nhưng không thấy có câu trả lời. Thực sự mình cũng không chắc là Excel có thể làm được những điều đó hay không. Rất mong được các bạn giúp đỡ!
Cảm ơn !
 

File đính kèm

  • Trợ giúp định dạng dữ liệu.xls
    19.5 KB · Đọc: 26
Giải cho bạn câu thứ nhất nhé, copy code này vào sheet và sẽ ép phê trong cột A
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count < 2 Then
   If Target.Row > 2 Then
      With Target
         .NumberFormat = "@"
         .Value = String(8 - Len(Target), "0") & .Value
      End With
   End If
End If
End Sub
 
Các vấn đề trên mình tìm kiếm ở nhiều diễn đàn nhưng không thấy có câu trả lời. Thực sự mình cũng không chắc là Excel có thể làm được những điều đó hay không. Rất mong được các bạn giúp đỡ!
Cảm ơn !
1> Câu 1: Có thể định dạng Custom: 00000000 (8 số 0 liền nhau không có dấu nháy đôi nha)
2> Câu 2: Nếu bằng tay chắc chắn không làm được. Tuy nhiên có thể dùng phương pháp lập trình, chẳng hạn:
PHP:
Sub InsertComment()
  Dim rCell As Range
  On Error Resume Next
  Set rCell = ActiveCell
  If rCell.Comment Is Nothing Then
    With rCell.AddComment.Shape
      .Height = 144      ''<--- chieu cao cua comment
      .Width = 216       ''<--- chieu rong cua comment
      With .TextFrame.Characters.Font
        .Size = 14       ''<--- font size cua comment
        .Name = "Arial"  ''<--- font name cua comment
      End With
    End With
  End If
End Sub
PHP:
Sub Auto_Open()
  On Error Resume Next
  With Application.CommandBars("Cell")
   .Controls("Insert Comment").OnAction = "InsertComment"
  End With
End Sub
PHP:
Sub Auto_Close()
  Application.CommandBars("Cell").Reset
End Sub
Copy toàn bộ code trên cho vào 1 Module, xong đóng và lưu file lại. Lần sau mở lên, bạn sẽ có được vụ "InsertComment" như ý
----------------------
3> Câu 3: Trong 1 cell chỉ có thể chứa duy nhất 1 Hyperlink mà thôi. Vì vậy yêu cầu của bạn không thể thực hiện được
4> Câu 4: Trong Auto_Filter còn có rất nhiều tùy chọn. Thay vì Auto Filter trực tiếp, bạn chọn mục Custom và làm giống hình dưới đây:

Capture.jpg
 
Câu 1 mình làm được rồi. Không ngờ đơn giản thế
Câu 2, trình Excel mình không cao đến thế và mình cũng không định tìm hiểu cao đến thế. Chỉ là mình rất hứng thú với việc tạo lập và quản lí cơ sở dữ liệu trên Excel và mày mò chút đủ dùng thôi. Mình hy vọng có cách thiết lập bằng tay chứ Code hay Module mình không biết dùng. Đành bỏ vậy :D
Câu 4, Custom Autofilter này là của Excel 2007 đúng không? Mình không thấy nó trên Excell 2003.
 
Câu 2, trình Excel mình không cao đến thế và mình cũng không định tìm hiểu cao đến thế. Chỉ là mình rất hứng thú với việc tạo lập và quản lí cơ sở dữ liệu trên Excel và mày mò chút đủ dùng thôi. Mình hy vọng có cách thiết lập bằng tay chứ Code hay Module mình không biết dùng. Đành bỏ vậy :D
.
Rất đơn giản:
- Mở file, bấm Alt + F11 để vào cửa số lập trình
- Vào menu Insert, chọn Module (để chèn 1 module)
- Copy code tôi cho ở trên paste vào khung bên phải
- Bấm Alt + Q để đóng cửa sổ lập trình, trở về bảng tính
- Đóng và lưu file lại
- Lưu ý trước khi lưu: Vào menu Tools\Macro\Security và check mục "Medium... " (cái này chỉ làm 1 lần duy nhất)
- Lần sau mở file sẽ có 1 cảnh báo xuất hiện, hãy bấm Enable Macros cho phép code chạy là được rồi
- Giờ thì thử nghiệm chèn 1 comment xem sao
Tóm lại: Bạn có thể không biết lập trình thôi chứ xài đồ người ta viết sẵn thì quá dễ rồi
C
Câu 4, Custom Autofilter này là của Excel 2007 đúng không? Mình không thấy nó trên Excell 2003.
Đâu có, tôi chụp hình cho bạn là thao tác trên Excel 2003 đấy chứ. Bạn bấm mũi tên xổ xuống của AutoFilter, bạn sẽ thấy mục Custom. Bấm vào Custom này sẽ nhìn thấy cửa sổ giống như hình tôi gửi
 
Mình làm được số 4 rồi. Cám ơn bạn rất nhiều.
Còn số 2, mình cũng làm được rồi, nhưng giờ đẻ ra vụ là không sửa được nội dung Comment, Khi chọn Insert Comment nó hiện ra một cái ô Comment đúng như thiết lập trong Code, có điều chả làm được gì với nó nữa, không thể thêm nội dung vào Comment, chỉ xóa hoặc ẩn đi được thôi. Minh đã xóa Module đi nhưng vẫn không về như cũ được. Sau khi xóa Module đi và trả Security về như cũ thì không thể tạo Comment được luôn. Lúc này khi tạo Comment hiện thông báo "The macro tenfileexcel.xls'!InsertComment' cannot be found." . Kể cả lập một file excel mới cũng bị thế. Các comment cũ thì không bị mất những cũng không thao tác được gì ngoại trừ xóa hoặc ẩn.
 
Mình làm được số 4 rồi. Cám ơn bạn rất nhiều.
Còn số 2, mình cũng làm được rồi, nhưng giờ đẻ ra vụ là không sửa được nội dung Comment, Khi chọn Insert Comment nó hiện ra một cái ô Comment đúng như thiết lập trong Code, có điều chả làm được gì với nó nữa, không thể thêm nội dung vào Comment, chỉ xóa hoặc ẩn đi được thôi. Minh đã xóa Module đi nhưng vẫn không về như cũ được. Sau khi xóa Module đi và trả Security về như cũ thì không thể tạo Comment được luôn. Lúc này khi tạo Comment hiện thông báo "The macro tenfileexcel.xls'!InsertComment' cannot be found." . Kể cả lập một file excel mới cũng bị thế. Các comment cũ thì không bị mất những cũng không thao tác được gì ngoại trừ xóa hoặc ẩn.

Bạn nói sao ấy chứ!
Làm gì có chuyện chả làm gì được khi chèn Comment

[video=youtube;5A3XFxjSD4I]http://www.youtube.com/watch?v=5A3XFxjSD4I&feature=youtu.be[/video]
Code này tôi test rất kỹ, tin rằng không có trục trặc gì.
Còn muốn mọi thứ trở về như cũ, bạn chỉ cần đóng file lại, sau đó mở lên, chọn Disable Macros là được rồi
(tại bạn xóa code bậy bạ, nó không reset được mọi thứ về ban đầu)
 
Đây là trường hợp mình gặp phải.
[video=youtube;wTtql-rdgyk]http://www.youtube.com/watch?v=wTtql-rdgyk&amp;feature=youtu.be[/video]
Xin lỗi vì mình không rành quay phim màn hình nên chất lượng hơi mờ.
Bạn có thể thấy khi mình khởi tạo một Comment mới thì những gì mình làm được là xem cái ô trắng đó và ẩn hoặc xóa nó đi. Không còn chức năng Edit Comment nữa, kể cả với Comment cũ đã có trước khi dùng macro. Mình đã thử làm lại vụ Disable Macros và được rồi.
 
Bạn có thể thấy khi mình khởi tạo một Comment mới thì những gì mình làm được là xem cái ô trắng đó và ẩn hoặc xóa nó đi. Không còn chức năng Edit Comment nữa, kể cả với Comment cũ đã có trước khi dùng macro. Mình đã thử làm lại vụ Disable Macros và được rồi.
Tại vì ta dùng code để thay chức năng Insert Comment nên đương nhiên nó phải mất mục Edit Comment rồi (2 chức năng này tráo đổi lẫn nhau)
Tuy nhiên, nếu bạn muốn Edit Comment cũng có thiếu gì cách, chẳng hạn click phải, chọn Show/Hide comments rồi cứ thế là Edit thôi
 
Tại vì ta dùng code để thay chức năng Insert Comment nên đương nhiên nó phải mất mục Edit Comment rồi (2 chức năng này tráo đổi lẫn nhau)
Tuy nhiên, nếu bạn muốn Edit Comment cũng có thiếu gì cách, chẳng hạn click phải, chọn Show/Hide comments rồi cứ thế là Edit thôi

Mình không biết làm thế có Edit được không. Vì mình cũng ko viết được gì vào cái Comment đó nên chẳng có gì để Edit cả. Trong đoạn video của bạn mình thấy bạn vẫn thao tác bình thường, nhưng khi mình thực hiện trên máy mình thì chỉ có thể mở được 1 cái Comment trắng và xóa nó đi, không thể viết gì vào đó được cả. Giống như là bị khóa ấy.
 
Mình đã cài lại MS Office, đã thực hiện được rồi. Cám ơn bạn rất nhiều.
 
Mình cũng dân IT mà, cài lại mấy tí đáng vào đâu. Chủ yếu muốn tìm ra bằng được nguyên nhân tại sao bạn làm được mà mình không làm được. Mà với dân IT kiểu mình thì cứ lỗi không làm được thì giải pháp thường nhất là cài đặt lại. Quả đấy mà cài lại office ko được sẵn sàng cài lại win luôn :))
 
Mình không hiểu sao dùng lệnh Filter cho một sheet làm việc nào đó thì lâu lâu bị khóa .Phải bung ra và vào lênh data filter lại .Bạn nào biết chỉ giúp .Cám ơn trước
 
Web KT

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

Back
Top Bottom