發表文章

目前顯示的是有「Excel 心得」標籤的文章

Excel-分段取出儲存格中的字串

Excel-分段取出儲存格中的字串

Excel VBA 表單UserForm1內的lable1,使用迴圈輸入值

    Dim i As Integer,     For i = 1 To 13         UserForm1.Controls("Label" & i).Caption = Sheets("客戶基本資料").Cells(i, 1).Value         Next i

Excel VBA 使用Lookup注意事項,為什麼出來的數值,跟自己想要的不一樣

下述的圖片不難理解,但是出來的數值,跟自己想要的不一樣 重點在於 1、索引值必需是「唯一值」 2、索引值,要先做排序動作 1 2 3 4 5 6 7 8 9 10 11 A B C 頻率 色彩 4.14 紅色 4.19 橙色 5.17 黃色 5.77 綠色 6.39 藍色 公式 描述 結果 =LOOKUP(4.19,A2:A6,B2:B6) 在欄 A 查詢 4.19,並從同一列的欄 B 傳回值。 橙色 =LOOKUP(5.00,A2:A6,B2:B6) 在欄 A 查詢 5.00,符合次小值 (4.19),並從同一列的欄 B 傳回值。 橙色 =LOOKUP(7.66,A2:A6,B2:B6) 在欄 A 查詢 7.66,符合次小值 (6.39),並從同一列的欄 B 傳回值。 藍色 =LOOKUP(0,A2:A6,B2:B6) 在欄 A 查詢 0,並傳回錯誤,因為 0 小於 lookup_vector A2:A7 中的最小值。 #N/A 1 2 3 4 5 6 7 A B C 成績 45 90 78 公式 描述 結果 =LOOKUP(A2,{0,60,70,80,90},{"F","D","C","B","A"}) 在陣列的第一列查詢 A2 (45) 的值,尋找小於或等於 (0) 的最大值,然後傳回陣列中相同一欄中,最後一列的值。 F =LOOKUP(A3,{0,60,70,80,90},{"F","D","C","B","A"}) 在陣列的第一列查詢 A3 (90) 的值,尋找小於或等於 (90) 的最大值,然後傳回陣列中相同一欄中,最後一列的值。 A =LOOKUP(A4,{0,60,70,80,90},{"F","D","C","B","A"}) 在陣列的第一列查詢 A4 (78) 的值,尋找小於或等於 (70) 的最大值,然後...

Excel include另外整理出,以後就不用每支程式修改

include另外整理出,以後就不用每支程式修改

Excel 記錄每支function,執行時間,方便除錯

記錄每支function,執行時間,方便除錯

Exce VBA 新增檔案

Sub TestAdd() '新增工作表(無任何參數) Worksheets.Add '一次新增10個工作表 Worksheets.Add Count:=10 '新增工作表在sheet1之後 Worksheets.Add after:=Worksheets(" sheet1 ") '新增工作表在sheet1之前 Worksheets.Add before:=Worksheets(" sheet1 ") End Sub Sub TestCopy() '複製sheet1到sheet1之後 Worksheets(" sheet1 ").Copy After:=Worksheets(" sheet1 ") '複製sheet1到sheet1之前 Worksheets(" sheet1 ").Copy Before:=Worksheets(" sheet1 ") End Sub 在VBA中若要刪除工作表時,忽略此步驟需加入 Application.DisplayAlerts = False 程式碼來關閉顯示警告視窗 Sub TestDelete '關閉警告視窗 Application.DisplayAlerts = False '刪除作用中的工作表 ActiveSheet.Delete '恢復警告視窗 Application.DisplayAlerts = True End Sub

Excel 取消驗證公式(小綠標)

檔案→選項→公式→格式化為文字或以單引號開頭的數字

Excel 找目前儲存格顏色

只會用笨方法 錄制巨集,自動篩動,選要篩選的顏色,停止錄制巨集 看程式碼 SortOnValue.Color = RGB (  x  ,   y  ,   z ) 裏面的xyz數字就是了

Excel VBA 文件庫

http://msdn.microsoft.com/zh-tw/library/microsoft.office.tools.excel.worksheet.filtermode%28v=VS.80%29.aspx

Excel vba 單雙號

4單3雙

Excel 算間隔距離

                '算間隔距離                     ReDim arr_tmp(1 To tol - 1)                     For i = 1 To tol - 1                         arr_tmp(i) = arrRng(i) - arrRng(i + 1)                     Next i                 '_5間隔機率                     arr2_Per = Fn1_5間隔機率(ShtPer, Result_i, arr_tmp, RtDefault, DnDefault, j, lLastTab)    ...

Excel 目前工作表名稱

ThisWorkbook.ActiveSheet.Name

Excel 多行註解 檢視→工具列→編輯

多行註解 檢視→工具列→編輯

excel vba checkbox指定只能選擇一個

圖片
http://tw.knowledge.yahoo.com/question/question?qid=1510112203097 當我有3個甚至是4個checkbox的時候,假設我要只能選擇一個checkbox1其他都不能做選擇,但是當checkbox1解除時其他就可以選。 我用2個checkbox時做的出來但是當我用到第3個的時候就出現問題了,這是我寫的程式。 Private Sub CheckBox1_Click() If CheckBox1 = True Then CheckBox2.Locked = True And CheckBox1.Locked = False And CheckBox3.Locked = True If CheckBox1 = False Then CheckBox2.Locked = False And CheckBox3.Locked = False End Sub Private Sub CheckBox2_Click() If CheckBox2 = True Then CheckBox1.Locked = True And CheckBox2.Locked = False And CheckBox3.Locked = True If CheckBox2 = False Then CheckBox1.Locked = False And CheckBox3.Locked = False End Sub Private Sub CheckBox3_Click() If CheckBox3 = True Then CheckBox2.Locked = True And CheckBox1.Locked = True And CheckBox3.Locked = False If CheckBox3 = False Then CheckBox2.Locked = False And CheckBox1.Locked = False End Sub <h3> 最佳解答</h3> 發問者自選 回答者: iam_1_...

Excel 當有很多CheckBox1_Click時,要如何簡化程式

圖片
http://tw.knowledge.yahoo.com/question/question?qid=1511051305752 該如何簡化以下程式 Private Sub CheckBox1_Click() If CheckBox1.Value = False Then TextBox1.Enabled = False TextBox1 = "" TextBox2 = "" Else TextBox1.Enabled = True End If TextBox270 = Str(Val(TextBox2) + Val(TextBox4) + Val(TextBox6) + _ Val(TextBox8) + Val(TextBox10) + Val(TextBox12) + Val(TextBox14) + _ Val(TextBox16) + Val(TextBox18) + Val(TextBox20) + Val(TextBox22) + _ Val(TextBox24) + Val(TextBox26)) End Sub   Private Sub CheckBox2_Click() If CheckBox2.Value = False Then TextBox3.Enabled = False TextBox3 = "" TextBox4 = "" Else TextBox3.Enabled = True End If TextBox270 = Str(Val(TextBox2) + Val(TextBox4) + Val(TextBox6) + _ Val(TextBox8) + Val(TextBox10) + Val(TextBox12) + Val(TextBox14) + _ Val(TextBox16) + Val(TextBox18) + Val(TextBox20) + Val(TextBox22) + _ Val(TextBox24) + Val(TextBox26)) End Sub   Private Sub CheckBox3_Click() If CheckBox3.Value = False Then TextBox5...

Excel VBA Columns如果要使用數字行數,變通方法

Function Columns使用數字()     '初始值         Dim Def_Rng As Integer, All_Ball As Integer         Def_Rng = 6         All_Ball = 49     '判斷工作表         dim Str_ShtName as String         Str_ShtName="temp"         call Fn1_新增工作表(Str_ShtName)     '程式開始         Dim Str As String         Dim S1, S2         With Sheets("temp")             Str = .Columns(Def_Rng).Address             S1 = Split(Str, ":")             Str = .Columns(All_Ball).Add...

Excel VBA 如何使用萬用字元找尋檔案

        '使用Like         For Each chkSht In Worksheets             If chkSht.Name Like "*" & "分析" Then                 MsgBox chkSht.Name             End If         Next

Exce VBA 加速VBA的方法

加速VBA的方法: 1.關閉螢幕更新 : Application.ScreenUpdating = False 'True 2.禁止觸發事件 : Application.EnableEvents = False 'True 3.禁止交互模式 : Application.Interactive = False 'True 4.計算模式設定為手動 : Application.Calculation = xlCalculationManual 'xlCalculationAutomatic 5.儲存格寫法 : 請使用cells : cells(1,1).value > cells(1,1) > Range("A1") > [A1] 6.比較句 : IF A THEN IF B THEN 優於 IF A AND B THEN 與 IF A THEN ... ELSE IF B THEN 優於 IF A OR B then 7.IF 快於SELECT 8.IF/ELSE 快於 IIF 9.循環句 For 語句快於DO/WHILE For/each快於for/to 10.使用With語句 11.盡量不用Variant類型 12.使用Option Explicit 13.給返回值一個明確的類型. 14使用left$,而不用left,使用int%,而不用int 15.set=nothing 16.有些工作表函數(方法)速度是很快的,比如FIND,VLOOKUP等,要記得使用它們,不要花力氣去做不討好的事。 17.當使用工作表函數時,操作對象應避免使用內存變量,那樣反而慢。 18.使用不相鄰的range前,先使用UNION,一次進行. 使用內存數組 1.內存變量的運算速度大大快於RANGE對象。 將RANGE數據寫入內存數組。 下面兩句將生成一個65536行,6列的數組。 用這種方法產生的數組都是兩維數組,即使引用的RANGE只有一行或一列。 下標始於1,不受option base設定的影響。 arr必需聲明為Variant類型。 Dim arr() arr=range(“A1:F65536”) 將內存數組數據寫入RANGE。 在內存數組經過計算處理後,寫回時只需下句就可以了。 range(“A1:F65536”)...

Excel VBA 表單objControl In Me.Controls

http://tw.knowledge.yahoo.com/question/question?qid=1510050303010 看不懂耶,唉! 我程度太弱了

Excel VBA 亂數Rnd

Function Fn1_大樂透電腦選號()     '陣列必需指定常數         Const All_Ball = 49         Const ShowBall = 6     ' 以下程式碼引用 凸槌的木工         Dim i%, num%         Dim a(1 To All_Ball) As Boolean         Dim n(1 To ShowBall) As Integer         Erase a  '清除a陣列         For i = 1 To ShowBall             num = Int(All_Ball * Rnd + 1) '取得亂數(可能重覆)             Do While a(num) = True '若陣列a內已加入num則執行下句:                 num = Int(All_Ball * Rnd + 1) '重新取得亂數             Loop  ...