顯示具有 Excel 標籤的文章。 顯示所有文章
顯示具有 Excel 標籤的文章。 顯示所有文章

2010年3月24日 星期三

用印表機印名片 -- Excel 篇

今年一月中旬到二月中旬, 接連的三場同學會, 讓我在中斷十多年之後, 再一次「用印表機印名片」。

原以為出了社會之後, 不再需要像學生時代那樣「用印表機印名片」, 但是最近參加大學、研究所兩個同學會之後, 才發現公司印的名片在這些場合並不見得那麼合用 ……。因為, 有些個人資料並不會印在公司的名片上, 例如 :

  • 個人電話
  • 個人e-mail
  • 部落格、facebook 網頁
  • 簡歷

於是, 趕在接下來的高中同學會之前, 用印表機印了30幾張名片 ……

.


(...繼續閱讀.../...CONTINUE...)

2009年3月28日 星期六

測試你的網路宅度

前一陣子, 發現某同事不知道 iGoogle, 也不知道 RSS ……, 在設定要做『網路產品』的部門, 還真的有點意外 ……

所以當天晚上花了大約一個小時, 用 EXCEL 做出一份『測試你的網路宅度』問卷, 裡面列出 40 種『網路服務』, 讓每個人填寫自己的使用頻率, 從『幾乎每天』的7分, 到『僅止於知道』的1分, 或是『不了解』的0分, 最後算出平均分數。

照這樣計算, 在我『僅只於知道 Plurk』時, 平均是 4.35 分。但是在『幾乎每天使用 Plurk』之後就變成 4.5 分。

.

測試你的網路宅度

有興趣的人, 請 點選下圖 填寫問卷 (Google Document 共用試算表)

  • 黃色格子填上名字
  • 綠色格子填上 0~7 分
  • 灰色格子不需要修改 (會自動顯示對應的使用頻率)
  • 請注意不要改到別人的部份
  • 空白格子不夠的話, 複製兩欄, 貼到最右邊的空白處
2009-03-28_141148-1

 

計分方式

  • 7 幾乎每天
  • 6 每兩三天
  • 5 每週
  • 4 每月
  • 3 每季
  • 2 很久沒用
  • 1 僅只於知道
  • 0 不清楚
  • .

    40 種『網路服務』

    服務名稱

    代表名稱

    網頁搜尋 Google Search, Yahoo Search
    圖片搜尋 Google Image Search
    瀏覽器 IE, Firefox, Google Chrome
    (本題請『包含』 IE 的使用)
    瀏覽器 Firefox, Google Chrome
    (本題請『扣除』 IE 的使用)
    個人首頁 iGoogle, Netvibes
    即時訊息, 網路電話 Skype, MSN
    RSS / Feed reader Google Reader, Bloglines
    部落格 Wordpress, 無名小站, 痞客邦, 地圖日記, Xuite, Blogger
    線上書籤 del.icio.us, 黑米, Funp, furl, technorati
    討論區/論壇 mobile01, BBS, FashionGuide
    社交網路, 交友 Ning, Facebook, 愛情公寓
    部落格衍生線上社群 MyBlogLog, Google Friends
    線上新聞 各大線上報紙
    線上雜誌 ???
    線上文件編輯 Google Docs, Zoho
    線上圖片編輯 ???
    公共資訊 中央氣象局, 高速公路即時路況
    線上字典 Yahoo!奇摩字典
    線上翻譯 Google Translate
    線上拍賣 Yahoo 拍賣, 露天拍賣
    線上購物 Yahoo 購物, PayEasy, 博客來
    微網誌 twitter, Digg, Jaiku, buboo, plurk
    百科共同編輯 Wikipedia, Yahoo 知識
    本機郵件 Outlook, Thunderbird
    Web-based email Gmail, Yahoo Mail, Hot Mail
    程式共同開發 SourceForge, Google Code
    照片分享 flickr, Picasa
    影片分享 YouTube
    線上音樂 iTunes, KKBox
    線上影片, web-TV MOD, Yam 天空
    線上行事曆 Google Calendar
    線上待辦事項工具 Remembe the milk, Gmail Tasks
    Keep track of new information / 快訊 Google Alerts
    線上地圖 Google Maps, Urmap
    衛星/空照圖 Google Earth
    個人記事 Evernote, Google Notebook
    網路硬碟  
    p2p download  
    網路銀行, 網路 ATM  
    股票基金網路交易  

    .

    網路上的問卷工具

    72175340d6b2ad69ddb34b2a8de57cb2一開始, 試著移植到 Google Document, 但是發現沒有 Excel 那樣的下拉式填表工具,

    於是開始找問卷調查投票網站,

    最後找到同時提供 中英文 等多種介面的 my3q, 設計問卷本身很方便, 也很直覺, 但是 要設計成我想要的『計分方式』卻要花不少時間 ……, 所以最後還是回到 Google Document

    .


    (...繼續閱讀.../...CONTINUE...)

    2008年11月15日 星期六

    克服 Excel 2003 與 2007 文字方塊 的 VB 程式差異

    雖然之前 就知道 Excel 2003/2007 的『文字方塊/Text Box』有一些 VB 程式差異需要克服, 但是直到最近才改寫程式克服這些問題。

    繼續往下介紹之前, 先簡單講解一下這個 Excel 巨集的作用。

    image
    用 VB 巨集計算出文字大小、方位、顏色和外框等, 繪製在 Excel 裡面
    2008-11-13_080315
    搭配底圖, 就可以清楚標示電路板的零件資訊

    這麼做的好處是 :

    • 可以依相要標示的屬性, 調整文字大小、方位、顏色等
    • 輸出成 *.pdf 之後, 可以很方便的搜尋文字。反之, 用一般 Layout 軟體輸出的 電路板 圖形, 通常都無法搜尋文字。

    .

    原本在 Excel 2003 運行無誤的巨集, 切換到 Excel 2007 之後卻無法正常執行。所以, 開始研究 Virtual PC, 希望可以切換使用 Office 2003 與 2007。

    Virtual PC 2007 -- 微軟的免費好物 (2008-01-30),

    • 安裝 Office2007 之後, 另外建立一個 Office2003 的環境 ...

    不過, 後來為了別的原因重裝電腦, 就又回到 Office 2003。

    直到最近, 才又重新檢視『文字方塊/Text Box』的 VB 程式差異, 讓我的 Excel 巨集在 Excel 2003 與 2007 上都可以執行。

    .

    克服『文字方塊/Text Box』的 VB 程式差異

    • 判斷 Excel 版本

    Application.Version = 11.0 是 Excel 2003, 而 12.0 則是 Excel 2007

    .

    • 『文字方塊』與『Text Box』

    同樣用 Shapes.AddLabel() 繪製出來的 文字方塊, .Name 屬性在 Excel 2003 被指定為 『Text Box ????』(流水號), 但在 Excel 2007 卻被指定為『文字方塊 ????』

    解決方法是改用 .Type = msoTextBox 來判斷是否為 文字方塊

    .

    • 屬性的初始值不同

    雖然, 明確設定初始值是寫程式時天經地義的守則, 但是 Excel 的繪圖物件往往有太多屬性, 以致很難在程式裡明確設定它們全部的值。

    屬性名稱 Excel 2003 Excel 2007
    自動調整文字方塊大小 (初始值都是不自動調整) .TextFrame.AutoSize = msoTrue .TextFrame.AutoSize = True
    .TextFrame2.WordWrap = False
    文字方塊背景顏色 預設無背景色 預設有背景色, 除非手動加上
    .Fill.Visible = msoFalse
    文字方塊框線 預設無框線

    預設有框線, 除非手動加上 .Line.Visible = msoFalse

    這邊要注意的是, 同一個屬性 .TextFrame.AutoSize 在 Excel 2003 的資料形態是 msoTrue, 但是在 Excel 2007 卻是 True。

    此外, 在 Excel 2003 可以先不指定文字方塊的寬與高, (即 .Shapes.AddLabel(橫書或直書, X0, Y0, W, H), 其中 W=0, H=0) 之後再設為自動調整文字方塊。但是 在 Excel 2007 一開始指定 寬/高 都等於 0 卻會導致 文字方塊被『隱藏』, 既使之後再改為自動調整文字方塊, 也還是繼續隱藏。

    .

    • 橫書或直書參考點的處理方式不同
    image
    Excel 2003, 無論橫書或直書, 參考點都是左上角, 所以左上角的座標固定不變
    image
    Excel 2007, 橫書的參考點是左上角, 但是直書的參考點卻是右上角,
    橫書 紅色123 的參考點是左上角, 但直書的 黑色456 和 綠色789 的參考點卻是右上角, 會看到左上角的座標會一直改變

    .Shapes.AddLabel(橫書或直書, X0, Y0, W, H) 產生一個文字方塊繪圖物件, 再經過下列程式之後, 在 Excel 2003 和 2007 看到的左上角座標 (.Top 與 .Left) 會是不一樣的

    If Application.Version >= 12# Then
        .TextFrame.AutoSize = True   ' office2007
        .TextFrame2.WordWrap = False ' office2007
    Else
        .TextFrame.AutoSize = msoTrue   ' office2003
    End If
    .TextFrame.Characters.Text = A.Offset(0, 0)
    .TextFrame.Characters.Font.Size = A.Offset(0, 4) * 2
    If A.Offset(0, 3) = 1 Then            ' Rotate Font
        .TextFrame.Orientation = msoTextOrientationDownward
    End If

    解決方式是最後再重新指定一次左上角座標 (.Top 與 .Left) 的值

    .Top = Y0
    .Left = X0


    (...繼續閱讀.../...CONTINUE...)

    2008年6月27日 星期五

    [Excel 巨集] Address 函數 -- 傳回『範圍參照』

    自從 2008-02 提出『使用 EXCEL 巨集合併/比對/更新多種格式的通訊錄』的構想之後, 最近終於又有點進度。.... 只是, 還是處於準備的前期 ....

    .

    下面要介紹的 Excel VBA 巨集函數 "address", 不知道會不會常用, 所以, 我舉了一個例子。

    簡單的說, "address" 巨集函數可以傳回『儲存格的參照』, 甚至可以組合成公式, 有點像工作表函數 INDIRECT 和 ADDRESS。

    一般的場合

    • 巨集程式將結果的值寫到儲存格,
    • 例如: 巨集程式將 A1 填為目前 B5 的值, 假設是 100
    • 看到 100 不會知道是在 B5 找到的, 而且以後也不會隨著 B5 變動

    使用 "address" 巨集函數的場合

    • 巨集程式將結果以參照表示,
    • 例如: 巨集程式將 A1 填為 B5, 則知道巨集程式找到 B5 這個儲存格
    • 如果巨集程式進一步將 A1 填為 =B5, 則以後 A1 的值會跟著 B5 一起變動

    .

    • 語法說明

    expression.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)

    expression 範圍物件 (單一儲存格 或 多個儲存格)
    RowAbsolute True 或 不填 : Row 部份為絕對參照,
    False : 傳回相對參照
    ColumnAbsolute True 或 不填 : Column 部份為絕對參照,
    False : 傳回相對參照
    ReferenceStyle xlA1 或 不填 : 傳回 A1 樣式的參照
    xlR1C1 : 傳回 R1C1 樣式的參照
    External True : 傳回外部參照
    False 或 不填 : 傳回區域參照
    RelativeTo 1) 如果 RowAbsolute 和 ColumnAbsolute 為 False,且 ReferenceStyle 為 xlR1C1,則必須加入相對參照的起始點。
    2) 如果 External 為 True, 且沒有加入此參數會傳回 完整參照 (例如 : [Book1.xls]Sheet1!$A$1); 反之, 加入此參數則會視情形傳回 部份參照 (例如 : Sheet1!A1),

    .

    • 範例程式

    set A = Sheets("Sheet1").Cells(y1, x1)
    set B = Sheets("Sheet2").Cells(y2, x2)
    B = "=" & A.Address(False, False, , True, B)

    .

    至於我要怎麼使用, 這麼說好了, 我要來拿來建立『索引』(或『指標』)。用簡單的 = Sheet1!A1 將『資料儲存格』和『索引儲存格』串連起來, 再配合儲存格的 DirectDependents, Dependents, DirectPrecedents, Precedents 屬性 (儲存格計算的相依性, 翻譯為『參照』, 『前導參照』), 就可以查找『一對一』或是『一對多』的資料和索引。而且, 資料搬動時, Excel 會自動維持公式的連結, 就不用煩惱如何維護資料和索引的關係。

    .


    (...繼續閱讀.../...CONTINUE...)

    2008年6月23日 星期一

    尋覓你的理想家園 -- 看屋評分表

    EXCEL從開始看屋, 到決定買下新家, 前後花了兩年 (2004-07 ~ 2006-06), 看了60個新舊社區, 其中最重要的工具, 一是老婆大人的手寫筆記, 二是我用數位相機拍的相片, 再來就是 EXCEL 的評分表。

    .

    .

    .

    『室內』、『社區』、『週邊』三大項, 配分如下。

    室內 50
    社區 20
    週邊 30

    一開始, 先從自己的熟悉的社區開始 (例如 : 目前住家, 常去的朋友家), 每一小項以 0~5分 來給分 (5=很滿意, 4=喜歡, 3=及格, 2=不喜歡, ...), 再看不同社區各小項的相對分數是否合理。之後, 每加入一筆新資料, 就比對之前的記錄, 看新資料的相對分數落在哪, 例如 : 之前給 A 的採光 5 分, B 的採光 3 分; 若 C 的採光大約介於兩者之間, 就給 4 分; 若 C 的採光只比 A 稍差一些, 就給 4.5 分。

    image 再來, 調整每一小項的配分, 看加權之後的分數, 是否符合直覺的感受, 例如 :

    • 室內 : C~B > A >> D
    • 社區 : C > B > A > D
    • 週邊 : B > A~C~D

    .

    .

    items

    .

    其實, 最重要的是, 在過程中調整出最能反映自己需求的項目內容和配分, 以及萬一需要取捨時, 知道自己取捨了什麼。因為, 十全十美的房子真的是可遇不可求。

    .

    各項簡述如下 :

    室內

    室內使用空間 可以用實際看屋的感覺, 或不含公設的室內坪數給分, 例如 : 25坪 = 2.5分

    室內採光

    室內採光好, 白天可以不用開燈, 或者少開一些燈
    房間大小平均 或者, 房間大小的分配是否符合需求
    格區方正, 實用性 或者, 每個房間的格局是否都可以有效使用, 例如 : 床, 衣櫥, 書櫃, 桌, 椅, ... 的位置

    室內動線, 坪效

    動線和開放空間合一, 例如: 開放空間(客/餐廳)居中聯絡每個房間, 不要有難以利用的長走道, 通常是較佳的安排
    現有裝潢實用性 現有的裝潢就算再華麗, 如果不合需求, 那不如買沒有裝潢的空屋
    廚房格局 廚房大小, 廚具配置, ...
    浴廁格局/空調 廁所是否有窗戶或其他通風方式, 否則就只能靠排風機了
    視野 每個人各有所好, 
    風水 如一般風水書或網站所列, 可以用扣分的方式

    .

    社區

    社區大門觀感 除了自家門面, 也不要忘了社區大門
    社區門禁 社區每個出入口的管理, 以及保全是否盡職
    梯廰觀感 梯廰堆放雜物, 不僅有礙出入, 同時也反映左鄰右舍的公德心
    棟距 (對內或對外) 社區對內棟距, 或對外到其他建物的棟距, 除了住得心情開朗, 還有安全上的考量
    中庭實用性 散步, 乘涼, 小朋友騎自行車..., 每個人各有所好,
    公設實用性 公設比越來越高, 當然要買到實用的公設
    公設維護良好 反映左鄰右舍的公德心, 和管委會是否建全
    車位整體觀感 除了車道動線, 車位空間, 照明 ...。我還看過要換乘另一部電梯, 甚至也有要穿過不能遮風蔽雨的中庭, 再步行到地下室的...。就看你是否介意囉~~

    .

    週邊

    生活機能 餐飲, 購物, 醫藥, 銀行, 郵局 .... 的距離
    公園綠地 理由很明顯
    學區 到學校的距離, 以及學區學風
    週邊停車情形 週邊停車如果太亂而妨礙行車和行人動線, 不僅影響日常出入, 也會影響日後房價
    訪客停車便利性 如果附近有公設停車場, 免費空地, 或是免費停車的大型購物中心, 應該就不成問題
    大眾運輸便利性 看需求而定
    交通便利性 預想一下常去的幾個交通動線或交流道, 是否方便? (有別於上班的固定動線)
    上班車程 不妨利用上/下班時段實際體驗幾次, 因為去看屋的時段通常不能反映上/下班的交通狀況

    .

    最後, 我並不打算提供完整的 Excel 檔案, 因為兩年前的資料已漸漸失去參考性....。而且, 如前所述, 最重要的是, 在過程中調整出最能反映自己需求的項目內容和配分。祝大家都能順利找到心目中的理想家園


    (...繼續閱讀.../...CONTINUE...)

    2008年6月4日 星期三

    我的 Excel 日記

    前一陣子, 參考網路上別人用 Excel 寫日記的精神, 創造出我自己的格式。

    image

    以下只介紹我自己創造的部分, 其他請參考 Excel 日記。

    .

    有別於『三維』(a), (b) 或『二維』(c) 的格式 (日期 再加上 二維九宫格分類 或 一維分類), 最後我使用『一維半』的方式, 記事集中在一大格(真的可以很大格), 再以小格分類 (還是有分類的作用), 而且整體寬度又不會太寬。

    .

    再加上一些公式和巨集, 寫起來就很順手囉~~

    F~Q欄 (分類) 填上
    > : 進行中
    + : 給自己的嘉獎 (加分項目)
    - : 減分項目
    @ : 重點項目

    於 F~Q欄 手動加上顏色, 並使用自動篩選, 欄R 則是方便篩選之後看日期, 因為 欄A 在篩選之後就不見得都有日期。

    欄R 的公式為
    R2 =IF(ISNUMBER(A2),A2,OFFSET(R2,-1,0))

    .

    欄E 是自訂函數, 自動顯示勾選的分類
    E2 =StrAdd($F$1:$Q$1,F2:Q2,E$1)

    Function StrAdd(A0, B0, C0)
    Set A = A0
    Set B = B0
    C = C0
    Ans = ""
    i = 1
    For Each AA In A
    BB = B(i)
    If Len(BB) > 0 Then
    If Len(Ans) > 0 Then Ans = Ans + C
    Ans = Ans + AA
    End If
    i = i + 1
    Next
    StrAdd = Ans
    End Function

    .

    按鈕 : 自動加入一行, 並複製公式

    Private Sub cbNewLine_Click()
    myNewLine
    End Sub

    Sub myNewLine()
    Row1 = Selection(1).Row
    Col1 = Selection(1).Column
    Row2 = Row1
    Col2 = Col1
    For Each myCell In Selection
    If myCell.Row < Row1 Then Row1 = myCell.Row
    If myCell.Row > Row2 Then Row2 = myCell.Row
    If myCell.Column < Col1 Then Col1 = myCell.Column
    If myCell.Column > Col2 Then Col2 = myCell.Column
    Next
    If Row2 <> Row1 Then
    MsgBox ("Please select one cell or one row !!")
    Exit Sub
    End If

    Application.CutCopyMode = False
    Rows(Row2 + 1).Insert Shift:=xlDown

    For j = 1 To 26 ' 自動複製公式
    If Left(Cells(Row2, j).Formula, 1) = "=" Then
    Cells(Row2, j).Copy
    Cells(Row2 + 1, j).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    End If
    Next
    Cells(Row2 + 1, Col2).Activate
    End Sub

    .

    按鈕 : 自動將選取範圍依日期上色, 以方便辨識 (記得不要選手動上色的 F~Q欄, 不然顏色會被改掉)

    Private Sub cbColor_Click()
    DayColor
    End Sub

    Sub DayColor()

    Set B = ActiveWindow.RangeSelection
    For Each A In B

    A.Select
    With Selection.Interior
    If TypeName(A.Value) = "Date" Then
    wkday = Weekday(A.Value, 2)
    ElseIf TypeName(A.Value) = "Double" Then
    wkday = Round(A.Value * 10, 0) Mod 10
    End If
    Select Case wkday
    Case 1
    .ColorIndex = 40
    .Pattern = xlSolid
    Case 2
    .ColorIndex = 36
    .Pattern = xlSolid
    Case 3
    .ColorIndex = 35
    .Pattern = xlSolid
    Case 4
    .ColorIndex = 34
    .Pattern = xlSolid
    Case 5
    .ColorIndex = 37
    .Pattern = xlSolid
    Case 6
    .ColorIndex = 39
    .Pattern = xlSolid
    Case Else
    .ColorIndex = 38
    .Pattern = xlSolid
    End Select
    End With
    Next A
    B.Select
    End Sub

    .

    (...繼續閱讀.../...CONTINUE...)

    2008年2月20日 星期三

    [程式設計構想] 使用 EXCEL 巨集合併/比對/更新多種格式的通訊錄

    在這個資訊時代, 我們將親友的連絡資料儲存在各種媒體

    • Outlook 等 郵件軟體 的 『連絡人』
    • EXCEL, WORD, 純文字, 或各種格式的檔案
    • SIM 卡 或 手機電話簿
    • PDA, 電子字典, 股票機 或 其他類似的電子產品

    於是, 你可能有以下的困擾 :

    • 不確定每個地方的資料是否同步 ---- 雖然 PDA, 手機, 電子字典 ... 等, 大部份都有提供和電腦『同步連絡人』的方式, 但這些方式不見得都方便維護多種設備間的同步性, 除非這些資料全部都和 Outlook 的『連絡人』雙向同步。
    •  不確定如何合併/比對/更新資料 ---- 當你拿到更新的 EXCEL, WORD 等『連絡人』資料, (例如: 部門通訊錄, 或是同學會通訊錄), 該如何將這些資料合併/更新到 Outlook 或是 手機 呢? 還是真的只能逐筆『人工比對』呢?

    .

    一直沒有找到現成軟體可以解決這樣的問題, 所以找了一些資料, 準備開始將想了很久的構想, 寫成程式。

    目前的準備資料 :

    .

    至於, 為何使用 EXCEL VB 巨集, 主要有以下原因

    • 不用另外安裝 VB, Visual C, 或 Delphi
    • 和 Outlook 的互動功能完整
    • 直接使用 EXCEL 表格, 不需要額外的資料庫
    • 如果, 真的寫出完整的功能, 則 EXCEL 表格將和 Outlook 連絡人同步, 就不定一要開 outlook 才能查資料, 另外, 也可以當成是備份。
    • 沒有使用 Outlook 時, 還是可以將通訊錄合併成 EXCEL 檔案,
      (如果使用 Outlook VB 巨集, 要回過頭來存取 EXCEL 表格, 反而不方便)

    .


    (...繼續閱讀.../...CONTINUE...)