Dấu công thức không hiển thị lên thanh formula

  • Thread starter Thread starter Namvba
  • Ngày gửi Ngày gửi
Liên hệ QC

Namvba

Thành viên mới
Tham gia
10/5/07
Bài viết
22
Được thích
3
Các bạn có cách nào dấu công thức hiển thị lên thanh formula bằng VBA, chỉ mình với
 
Tức là vẫn có thanh Formula nhưng lại không hiển thị lên thanh đó phải không bạn ???

Thân!
 
Upvote 0
Đúng rồi bạn ạ, bạn có cách nào chỉ mình với.
 
Upvote 0
Ủa, sao kỳ vậy... Hình như khi protect sheet thì những cell có thuộc tính hidden sẽ bị ẩn công thức trên thanh Formula mà ta
Tôi ko biết về VBA nhưng tôi nghĩ việc đầu tiên sẽ là unlock toàn bộ cell, sau đó quét xem cell nào chứa công thức thì hidden nó lại.. Tiếp theo là protect sheet... Đến lúc này thì chắc ăn 100% sẽ ko nhìn thấy công thức trên thanh Formula
Ko biết có đúng ý bạn Namvba ko ta?
ANH TUẤN
 
Upvote 0
À, hiểu rồi, có nghĩa là muốn bảo vệ bảng tính không cho hiện công thức lên.
Em cứ tưởng là File bình thường (không dùng protect) mà làm như vậy thì . . . chưa biết vì chưa thấy.

Cảm ơn bác!
 
Upvote 0
Món này nếu tự record macro thì sẽ bị vướng ở 1 chồ: "LÀM SAO BIẾT CELL NÀO CHỨA CÔNG THỨC?"
vậy Bắp cho hỏi trong VBA, mình sẽ làm như thế nào?
ANH TUẤN
 
Upvote 0
anhtuan1066 đã viết:
Món này nếu tự record macro thì sẽ bị vướng ở 1 chồ: "LÀM SAO BIẾT CELL NÀO CHỨA CÔNG THỨC?"
vậy Bắp cho hỏi trong VBA, mình sẽ làm như thế nào?
ANH TUẤN

Đó là nhờ thuộc tính .HasFormula

VD : Xét mảng đó có công thức hay không ??

PHP:
Worksheets("Sheet1").Activate
Set rr = Application.InputBox(prompt:="Select a range on this worksheet", Type:=8)
If rr.HasFormula = True Then
    MsgBox "Every cell in the selection contains a formula"
End If

Thân!
 
Upvote 0
Cho hỏi thêm:
1> Nếu ko cần hộp Input, cứ để cho Excel tự quét thì có phải là dùng:
Cells.HasFormula ???
2> Có phải là nên đặt nó vào trong sự kiện Worksheet_change ??? Vì theo tôi nghĩ, cứ khi ta gõ công thức vào cell nào đó thì lập tức nó dc gán thuộc tính Hidden... Có đúng thế ko nhỉ?
Mong giúp! (Ngu VBA)
ANH TUẤN
 
Upvote 0
anhtuan1066 đã viết:
Cho hỏi thêm:
1> Nếu ko cần hộp Input, cứ để cho Excel tự quét thì có phải là dùng:
Cells.HasFormula ???
2> Có phải là nên đặt nó vào trong sự kiện Worksheet_change ??? Vì theo tôi nghĩ, cứ khi ta gõ công thức vào cell nào đó thì lập tức nó dc gán thuộc tính Hidden... Có đúng thế ko nhỉ?
Mong giúp! (Ngu VBA)
ANH TUẤN

1. Vâng, đúng thế đấy.
2. Đó cũng là một ý tưởng tốt. Khi họ muốn sửa thì họ phải unprotect, như vậy phải lường đến cả TH này.

Thân!
 
Upvote 0
anhtuan1066 đã viết:
Món này nếu tự record macro thì sẽ bị vướng ở 1 chồ: "LÀM SAO BIẾT CELL NÀO CHỨA CÔNG THỨC?"
vậy cho hỏi trong VBA, mình sẽ làm như thế nào?

Tuấn ghi macro với lệnh Goto trong menu edit ; nó sẽ như thế này:
Mã:
[b]
Sub MacroGoTo()[/b]
    Cells.Select
    Selection.SpecialCells(xlCellTypeFormulas, 23).Select[b]
End Sub[/b]
-+*/
/-(ay Tuấn cò thể tìm kiếm với từ khóa SpecialCells trên diễn đàn (nói nhỏ, có 1 bài của mình í nha!!)@#!^%
 
Lần chỉnh sửa cuối:
Upvote 0
SA_DQ đã viết:
Tuấn ghi macro với lệnh Goto trong menu edit ; nó sẽ như thế này:
Mã:
[B]
Sub MacroGoTo()[/B]
    Cells.Select
    Selection.SpecialCells(xlCellTypeFormulas, 23).Select[B]
End Sub[/B]
-+*/

Tuyệt vời.:<>:<>

Có những điều ngay trong nhà ta, thế mà cứ dòm ngó sang nhà hàng xóm để . . . tìm kiếm+-+-+-++-+-+-++-+-+-+. Chắc do . . . bản năng-0-0-0-

Chiêu Goto Special làm nhiều, thế mà lại quên mất. Cảm ơn bác nhiều nhé.

Thân!
 
Upvote 0
Đúng thế... giống như lần trước ko biết làm thế nào đễ SUM và bỏ qua những cell ẫn... Ấy thế mà Go to cái thấy ngay... Cám ơn lảo tiền bối... hi.. hi.. Nếu gọi là HỌC thì chổ này chính là HỌC đây!... Vấn đề chỉ thật sự đơn giản khi ta.. biết rồi...
ANH TUẤN
 
Upvote 0
Ha... ha.... làm dc rồi...
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
Cells.Select
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
Selection.FormulaHidden = True
Selection.Locked = True
ActiveSheet.Protect
Range("A1").Select
End Sub
Quá đãaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ANH TUẤN
 
Upvote 0
Không cho hiện công thức trên thanh Formula bar

Mình viết đoạn mã sau thì ô nào trên bảng tính có công thức sẽ tự động khóa không cho nhập dữ liệu nếu như không có Password. Khi nhập đúng password thì sẽ cho chỉnh sữa nhưng khi con trỏ rời khỏi ô thì ô sẽ tự động khóa.
Còn cách để không hiện công thức trên thang Formula bar mình làm mãi không được, bạn nào biết chỉ cụ thể mình với.

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim rng As Range
For Each rng In Target.Cells
If rng.HasFormula Then
ActiveSheet.Protect ("1968")
Exit Sub
Else
ActiveSheet.Unprotect ("1968")
End If
Next rng
End Sub
 
Upvote 0
Mình hỏi cách dấu công thức trên thanh Formula Bar, chứ không cho chỉnh sửa thì được rồi.

Các bạn có cách nào bằng VBA chỉ mình với
 
Upvote 0
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
Cells.Select
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
Selection.FormulaHidden = True
Selection.Locked = True
ActiveSheet.Protect
Range("A1").Select
End Sub
Cái code này hôm qua mới thử ngon lành sao hôm nay nó lại báo lỗi nhỉ? Bác SA_DQ xem lại giùm em với
Em thấy trong này có 2 chổ bất hợp lý:
1> Nếu sheet chưa dc protect thì có dùng ActiveSheet.Unprotect dc ko?
2> Chưa có cell nào chứa công thức thì làm sao dùng dc code Selection.SpecialCells(xlCellTypeFormulas, 23).Select (Select cái gì đây?)
Vậy phải IF.. IF như thế nào nhỉ?
Hic... Hic...
ANH TUẤN
 
Lần chỉnh sửa cuối:
Upvote 0
Bác thử chạy code dưới xem có bị lỗi không ạ.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
[COLOR=red]On Error Resume Next
[/COLOR]ActiveSheet.Unprotect
[COLOR=red]Cells.Locked = False
[/COLOR]Selection.SpecialCells(xlCellTypeFormulas, 23).Select
Selection.FormulaHidden = True
Selection.Locked = True
ActiveSheet.Protect
Range("A1").Select
End Sub
Xin phép được giải đáp 2 vấn đề mà bác anhtuan1066 đưa ra:
anhtuan1066 đã viết:
1> Nếu sheet chưa dc protect thì có dùng ActiveSheet.Unprotect dc ko?
2> Chưa có cell nào chứa công thức thì làm sao dùng dc code Selection.SpecialCells(xlCellTypeFormulas, 23).Select (Select cái gì đây?)
Vậy phải IF.. IF như thế nào nhỉ?
Vấn đề 1: Không vấn đề gì
Vấn đề 2: Bác thêm cái bẫy lỗi vào để tránh trường hợp toàn bộ sheet không có công thức.
Bác nên chọn Cells.Locked=False thay cho Cells.Select để có thể tiếp tục nhập dữ liệu ở những ô không có công thức.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình có đoạn code sau khi chạy nó tự động khóa những ô có công thức trong Worbook còn các khác nhập bình thường, Muốn sửa hoặc xóa các ô có công thì thì mình phải nhập Password là 1968 khi co trỏ rời khỏi ô thì ô đó sẽ tự động khóa không cho chỉnh sửa.

Cho mình hỏi đoạn code sau cần thêm câu lệnh gì để không hiện công trức trên thanh Formula Bar, mong được các bạn chỉ cụ thể cho mình với.

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim rng As Range
For Each rng In Target.Cells
If rng.HasFormula Then
ActiveSheet.Protect ("1968")
Exit Sub
Else
ActiveSheet.Unprotect ("1968")
End If
Next rng
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom