當前位置:首頁 » 表格製作 » 怎樣用宏製作別人不能修改的表格
擴展閱讀
可以視頻k歌的音箱 2025-05-19 21:17:57
手機拍攝的照片可以彩印 2025-05-19 21:13:08
耳洞如何可以算打的位置 2025-05-19 21:12:15

怎樣用宏製作別人不能修改的表格

發布時間: 2023-02-15 02:25:22

㈠ Excel表格如何鎖定某一列單元格而不讓別人修改

方法如下:
先選中希望別人填寫或修改的部分,然後滑鼠右鍵:
設置單元格格式----保護--把鎖定前面的對號清除--確定
然後選
工具--保護--保護工作表
(密碼自己掌握,怕忘就空)
--確定
OK了

㈡ 怎麼讓自己做的電子表格,別人可以看不能修改和拷貝

想不被修改,可以用「保護工作表」的方法,加一個密碼就行了。
不想被拷貝是不可能的,excel沒有這個功能。
但有一個方法,可以用VBA代碼做一個判斷,可以利用Environ("username")來取得WINDOWS用戶名,只要不是你設定的用戶,就自動關閉工作簿,或限制某些功能,但前提是要「啟用宏」。
但以上方法並不可靠,原因是EXCEL的安全性很低,能被輕易破解掉你設置的各種密碼。

㈢ Excel2007如何通過宏來保護單元格不被修改,並且能夠隱藏公式

保護表格就行了,在【審閱】——【保護工作表】勾上允許工作表用戶操作的內容,設置密碼。如果想不給別人選定你的單元格,可以在【設置單元格格式】選項——【保護】中「鎖定」勾上,再在【審閱】——【保護工作表】中「選定鎖定單元格」選項勾去掉。
如果表格有部分允許編輯,可用【允許用戶編輯區域】——【新建】——選擇單元區域即可。
要保護結構、窗口在【保護工作簿】——【保護結構和窗口】選擇後設定密碼。
如果只想別人只讀,直接在【Office按鈕】——【另存為】,在打開【另存為】窗口左下方有個選項【工具】——【常規選項】——選「打開許可權密碼」或「修改許可權密碼」加密即可。

㈣ excel表格怎樣設置禁止編輯圖文教程

如何使excel表格內容只讀不能修改及破解,具體該怎麼去進行操作的呢?對於剛從其它版本轉型過來的應該就不會太懂吧,沒關系,接下來我就教大家在Excel2010表格設置不可修改的方法。

Excel2010表格設置不可修改的方法

只讀不能修改方法:

在EXCEL里,選擇工具——選項——安全性——分別設置打開許可權密碼和修改許可權密碼,2個密碼要不一樣,然後確定,會彈出對話框讓你重新輸入密 碼,第一個框輸入你設置打開許可權密碼,第二個框輸入你修改許可權密碼,然後保存文件。然後你把打開許可權密碼給別人就OK了,別人打開就是只讀,不能修改。要 修改需要你修改許可權密碼。

補充一下:如果不想只讀打開需要密碼,可以不設置打開許可權密碼,只設置修改許可權密碼。

破解Excel保護方法

Excel對數據有很強的保護功能,可以對整個或部分數據隱藏、禁止復制和修改等,但有時候,由於忘記了密碼,或者記不起以前自己到底做了哪些改動,這種保護反而會為難自己。針對這種情況,我總結了幾種解除保護的方法,供大家參考,並希望能夠以此拋磚引玉。

一、解除單元格的保護

1.取消隱藏的行或列

被隱藏的行或列有一個明顯的標志,那就是在行標題欄或列標題欄上有一條粗的黑線。取消隱藏的行或列的方法有兩種,一種是直接拖動隱藏處的行或列標題使之變 寬,也可以選中包含隱藏區域的行或列,通過“格式”菜單中的行列項目輸入非0數值調整行高或列寬,使數據有足夠的空間顯示出來;另一種方法是選中包含隱藏 內容的行或列區域,再通過“格式”菜單行列選項中的“取消隱藏”命令來恢復全部行列區域。

2.取消隱藏單元格或區域中的數據

為了不讓他人直接看到單元格的內容,一種簡單的方法就是把數據顏色設置成與背景色相同,這時我們只要拖選整個工作表即可讓數據原形畢露;如果用圖片、矩形 框之類的非字元內容將重要數據遮蓋,需要先用拖選方式找出工作表中的圖片位置,再將其移開,激活被遮住的單元格,一般在公式編輯欄中就會顯示其內容。

若在單元格格式中使用了三個分號或空格之類的自定義格式,一般只要選中此單元格,在公式編輯欄中即可顯示其內容,要想取消這種隱藏,可重新設置此單元格格式,在“數字”選項卡中選擇“常規”即可。

如果選中懷疑有數據的單元格後並沒有在公式編輯欄中顯示數據,不一定它就真的沒有數據,我們只要看一下單元格的格式能否設置,若不能的話說明工作表被保 護,如果不用密碼可以取消工作表保護的話,再在單元格格式設置中先查看數據格式是否為自定義,然後查看“保護”選項卡,看看是否已勾選了“隱藏”項,將這 些都取消就可以知道單元格是否真的沒有內容。當然,如果在撤消工作表保護時需要密碼的話,我們將無可奈何,除非用戶設置的密碼很簡單,那我就告訴你一個秘 密,當密碼的形式是“*123*”或“*abc*”時,我們可以分別用“*333*”或“*ccc*”來破解,星號表示任意字元,到底是什麼只有靠猜了, 這種方法對工作表和工作簿保護的密碼也適應。

3.取消單元格數據的只讀屬性

有時單元格中的數據雖然可見,但是我們既不能修改,也不能在當前工作表中復制,對於這種保護措施,取消的方法跟上面的第2點基本相同,只要取消單元格格式 設置對話框中“保護”選項卡中的“鎖定”一項即可。當然還需要通過密碼取消工作表的保護才行。 如果我們無法通過密碼取消怎麼辦?你可以將其復制粘貼到其他工作表中,再在新的工作表中進行修改。

二、解除工作表的保護

查看是否有被隱藏的工作表,若菜單中有“格式→工作表→取消隱藏”項,則可通過此項取消隱藏的工作表。

如果在菜單中也沒有有效的“取消隱藏”項,仍然可能有被隱藏的工作表,這時我們可以任選一工作表右擊,在彈出菜單中選擇“查看代碼”,然後在左窗格中的 “Microsoft Excel 對象”列表中選擇被隱藏的工作表,將其“Visible”屬性值取“-1”退出即可,如圖所示。

如果工作表被密碼保護,則可復制當前表全部內容到另一張未保護的工作表中編輯。

三、VBA宏代碼破解法:

第一步:打開該文件,先解除默認的“宏禁用”狀態,方法是點擊工具欄下的“選項”狀態按鈕,打開“Microsoft Office安全選項”窗口,選擇其中的“啟用此內容”,“確定”退出(圖2);

第四步:切換“審閱”選項卡,點擊“撤消工作表保護”,然後輸入密碼即可解除鎖定。

另一個能解除Excel工作表保護的VBA腳本

Option Explicit

Public Sub AllInternalPasswords()

' Breaks worksheet and workbook structure passwords. Bob McCormick

' probably originator of base code algorithm modified for coverage

' of workbook structure / windows passwords and for multiple passwords

'

' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)

' Modified 2003-Apr-04 by JEM: All msgs to constants, and

' eliminate one Exit Sub (Version 1.1.1)

' Reveals hashed passwords NOT original passwords

Const DBLSPACE As String = vbNewLine & vbNewLine

Const AUTHORS As String = DBLSPACE & vbNewLine & _

"Adapted from Bob McCormick base code by" & _

"Norman Harker and JE McGimpsey"

Const HEADER As String = "AllInternalPasswords User Message"

Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04"

Const REPBACK As String = DBLSPACE & "Please report failure " & _

"to the microsoft.public.excel.programming newsgroup."

Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _

"now be free of all password protection, so make sure you:" & _

DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _

DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _

DBLSPACE & "Also, remember that the password was " & _

"put there for a reason. Don't stuff up crucial formulas " & _

"or data." & DBLSPACE & "Access and use of some data " & _

"may be an offense. If in doubt, don't."

Const MSGNOPWORDS1 As String = "There were no passwords on " & _

"sheets, or workbook structure or windows." & AUTHORS & VERSION

Const MSGNOPWORDS2 As String = "There was no protection to " & _

"workbook structure or windows." & DBLSPACE & _

"Proceeding to unprotect sheets." & AUTHORS & VERSION

Const MSGTAKETIME As String = "After pressing OK button this " & _

"will take some time." & DBLSPACE & "Amount of time " & _

"depends on how many different passwords, the " & _

"passwords, and your computer's specification." & DBLSPACE & _

"Just be patient! Make me a coffee!" & AUTHORS & VERSION

Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _

"Structure or Windows Password set." & DBLSPACE & _

"The password found was: " & DBLSPACE & "$$" & DBLSPACE & _

"Note it down for potential future use in other workbooks by " & _

"the same person who set this password." & DBLSPACE & _

"Now to check and clear other passwords." & AUTHORS & VERSION

Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _

"password set." & DBLSPACE & "The password found was: " & _

DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _

"future use in other workbooks by same person who " & _

"set this password." & DBLSPACE & "Now to check and clear " & _

"other passwords." & AUTHORS & VERSION

Const MSGONLYONE As String = "Only structure / windows " & _

"protected with the password that was just found." & _

ALLCLEAR & AUTHORS & VERSION & REPBACK

Dim w1 As Worksheet, w2 As Worksheet

Dim i As Integer, j As Integer, k As Integer, l As Integer

Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer

Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer

Dim PWord1 As String

Dim ShTag As Boolean, WinTag As Boolean

Application.ScreenUpdating = False

With ActiveWorkbook

WinTag = .ProtectStructure Or .ProtectWindows

End With

ShTag = False

For Each w1 In Worksheets

ShTag = ShTag Or w1.ProtectContents

Next w1

If Not ShTag And Not WinTag Then

MsgBox MSGNOPWORDS1, vbInformation, HEADER

Exit Sub

End If

MsgBox MSGTAKETIME, vbInformation, HEADER

If Not WinTag Then

MsgBox MSGNOPWORDS2, vbInformation, HEADER

Else

On Error Resume Next

Do 'mmy do loop

For i = 65 To 66: For j = 65 To 66: For k = 65 To 66

For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66

For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66

For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126

With ActiveWorkbook

.Unprotect Chr(i) & Chr(j) & Chr(k) & _

Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _

Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

If .ProtectStructure = False And _

.ProtectWindows = False Then

PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _

Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _

Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

MsgBox Application.Substitute(MSGPWORDFOUND1, _

"$$", PWord1), vbInformation, HEADER

Exit Do 'Bypass all for...nexts

End If

End With

Next: Next: Next: Next: Next: Next

Next: Next: Next: Next: Next: Next

Loop Until True

On Error GoTo 0

End If

If WinTag And Not ShTag Then

MsgBox MSGONLYONE, vbInformation, HEADER

Exit Sub

End If

On Error Resume Next

For Each w1 In Worksheets

'Attempt clearance with PWord1

w1.Unprotect PWord1

Next w1

On Error GoTo 0

ShTag = False

For Each w1 In Worksheets

'Checks for all clear ShTag triggered to 1 if not.

ShTag = ShTag Or w1.ProtectContents

Next w1

If ShTag Then

For Each w1 In Worksheets

With w1

If .ProtectContents Then

On Error Resume Next

Do 'Dummy do loop

For i = 65 To 66: For j = 65 To 66: For k = 65 To 66

For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66

For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66

For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126

.Unprotect Chr(i) & Chr(j) & Chr(k) & _

Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _

Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

If Not .ProtectContents Then

PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _

Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _

Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

MsgBox Application.Substitute(MSGPWORDFOUND2, _

"$$", PWord1), vbInformation, HEADER

'leverage finding Pword by trying on other sheets

For Each w2 In Worksheets

w2.Unprotect PWord1

Next w2

Exit Do 'Bypass all for...nexts

End If

Next: Next: Next: Next: Next: Next

Next: Next: Next: Next: Next: Next

Loop Until True

On Error GoTo 0

End If

End With

Next w1

End If

MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER

End Sub

-----------------------------------

把上面的代碼保存為一個宏,運行,點兩次確定,等到它運行結束,工作表密密碼就解除了。

★如果出現提示“工程不可查看”不能錄制新宏,可以先使用“VBA工程加鎖解鎖器”來解除其“工程不可查看”後再用上面的方法找出保護密碼。

當然了,“VBA工程加鎖解鎖器”顧名思義,這是一個既可以解除Excel保護密碼,又可以為Excel加保護密碼的軟體,實為一個優秀的Excel輔助工具。

下載地址:http://pickup.mofile.com/9306322777229726

四、解除工作簿的保護

如果工作簿被密碼保護不能打開,我們可以也使用一些專用的破解軟體進行破解

Intelore Excel Password Recovery V1.0c

下載地址:http://pickup.mofile.com/6508444219536677

Passware Kit V7.1.1411 漢化版.rar

下載地址 http://pickup.mofile.com/1349573336951801

如果只能以只讀方式打開,我們打開後另存為一個不設密碼的副本,即可解除只讀限制。

有時雖然工作簿在打開時沒有任何密碼,但如果我們不能對工作表進行復制、移動和插入等操作,那是保護了工作簿,可以通過依次選擇“工具→保護→撤消工作簿 保護”菜單命令來解除,但如果有密碼的話,能夠猜出來更好,否則只有新建一工作簿,將被保護的工作表內容用拖選的方法復制到新的工作簿中進行編輯。

㈤ 怎樣使excel表格做好後別人只能填寫,不能修改表格格式

工具/材料:Excel表格軟體。

步驟:

1、使用滑鼠選中需要保護的工作表。