標題:
如何判斷儲存格是否換行
[打印本頁]
作者:
modelcrazyer
時間:
2012-11-28 14:25
標題:
如何判斷儲存格是否換行
各位達人:
小弟製作表格時因為儲存格的內容長短不一,又用自動換列,因此使用Autofit後感覺表格很亂
因此想要規則化儲存格表格美觀一點,因此想要讓沒有自動換列的儲存格列高都統一
所以想請問如何判斷儲存格內的內容是否超過一列?或是如何知道儲存格是否有換行?
作者:
mark15jill
時間:
2012-11-28 14:56
本帖最後由 mark15jill 於 2012-11-28 14:58 編輯
回復
1#
modelcrazyer
換列? 分行?
[attach]13310[/attach]
請問如何判斷儲存格內的內容是否超過一列?或是如何知道儲存格是否有換行
依據? 如 一行內要幾個字? 或 向左 右偏? 置中?
作者:
modelcrazyer
時間:
2012-11-28 15:35
是第二種,因為儲存格大小已固定了!!
作者:
mark15jill
時間:
2012-11-28 15:41
本帖最後由 mark15jill 於 2012-11-28 15:43 編輯
回復
1#
modelcrazyer
以圖為例,分別10個國字為分段 ,此方法為第一種。
[attach]13312[/attach]
若須第二種,要先判斷
預設儲存格 寬、 高 為何? 字體大小為何? 單行字數為何?
作者:
modelcrazyer
時間:
2012-11-28 15:58
謝謝您熱心回答,
回應您的提問,目前儲存格寬知道,字體大小知道,單行字數因為內容含有符號,所以字數就是不知道要怎麼固定故無法判斷,至於欄高我將來會寫判斷式如果是單行會讓它固定,多行的話則會用Autofit產生,所
作者:
mark15jill
時間:
2012-11-28 16:12
本帖最後由 mark15jill 於 2012-11-28 16:17 編輯
回復
5#
modelcrazyer
先前有貼過兩張圖和 一段程式
就是簡易判斷
例如
1. If Cells(sii, 1) <> "" Then Cells(sii, 2) = Len(Cells(sii, 1))
這段意思,就是不管 A欄位 內容是 數字 文字 符號 都在B欄位內 顯示總字數,以便自行研判。
2.單行固定的話,就取大約值。
以正常 來說(自動緊縮後寬度)
若儲存格內 文字 單一個字 寬度約為 2.88 (單位我就不寫
文字 兩個字以上 <如 7個字 寬度約為 (2*7 )+ 0.88>
半形符號 寬度約為 1.88
全形符號 寬度約為 2.88
舉例 : [A1] = ◎┐中華民國┌◎ 寬度約為 17.75 < 因為 EXCEL 有預設 緊縮字元 >
[B1] = ◎中華民國◎ 寬度約為 13.25 < 因為 EXCEL 有預設 緊縮字元 >
[C1] =中華民國 寬度約為 8.88 <(4*2 ) +0.88>
作者:
stillfish00
時間:
2012-11-28 19:14
本帖最後由 stillfish00 於 2012-11-28 19:15 編輯
回復
5#
modelcrazyer
檢查儲存格是否有勾選自動換行:
If Range("A1").WrapText=true then
...
檢查儲存格中的字元是否有換行字元 , 像是Alt+Enter產生的換行
If InStr(1, Range("A2"), vbLf)>0 then
...
我的話, 會考慮換行字元都取代掉, 勾選自動換行, 手動調整欄寬, 列高用autofit
作者:
modelcrazyer
時間:
2012-11-29 23:39
謝謝兩位的回答,後來用try and error的方法用Len函數,判斷一行大概幾個字元
作者:
mark15jill
時間:
2012-11-30 09:01
回復
8#
modelcrazyer
一行幾個字元看寬度而定,轉過來說 今天一行我要30個字元,但我只要反過來設定30字元的寬度
作者:
modelcrazyer
時間:
2012-11-30 09:44
謝謝,因為版面的關係,所以每個儲存格寬度是固定的,但是高度不固定,所以只能從字元數來判斷,本來是想用Chr(10)或是Chr(13)來判斷,但是因為是自動換列而非強迫換列所以有找不到Chr(10)或是Chr(13)這兩個控制碼
作者:
mark15jill
時間:
2012-11-30 09:55
回復
10#
modelcrazyer
寬度固定,那就比較好解決。舉個例: "國家" 這兩個字,用AUTO功能縮緊後,寬度為 4.88 。
如果今天要10個字一行, 寬度為 20.88 = (2*10 )+0.88 。
總字數如果為 135 個字, 135/10 = 13 行 又5個字。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)