新手問題,如何篩選後自動將資料由第一欄刪除至最後一欄???
- 帖子
- 134
- 主題
- 27
- 精華
- 0
- 積分
- 168
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2010-10-6
- 最後登錄
- 2018-5-13

|
GBKEE兄,如按以上巨集,那執行後每列調整成15行高,非小弟需求
如按EXCEL自動調整的功能,如果該行欄位最多有7列,則按字體9其行高即為7 X 12=84,但列印會有一些字體被裁切,調整是以行高15為佳
故小弟是希望可按巨集將原EXCEL的預計行高12--->15 |
|
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
12#
發表於 2012-1-14 11:21
| 只看該作者
回復 11# p6703 - Option Explicit
- Sub Ex()
- Dim ChrMax As Integer, R As Range, TheChr As String, A As Integer, Chrx As Integer
- ChrMax = 0 '歸零: 紀錄 "換列字元" 的最大數目
- For Each R In Sheet1.Range("F1:F10") '依序處裡範圍中的子物件 此處是: 儲存格
- If InStr(R, Chr(10)) Then '搜尋換列字元: Chr(10)
- TheChr = R '儲存格字串指定到 TheChr
- A = 0 '歸零: "換列字元"於 字串的位置
- Chrx = 0 '歸零: 搜尋到"換列字元" 的次數
- Do
- A = InStr(Mid(TheChr, A + 1), Chr(10)) 'A: "換列字元"於 字串的位置
- TheChr = Mid(TheChr, A + 1) '重新指定字串 TheChr 從 A+1 到字串尾端
- Chrx = Chrx + 1 '搜尋到 "換列字元"的次數 + 1
- Loop Until A = 0 '離開迴圈Do Loop 的條件: 搜尋不到"換列字元"
- If Chrx > ChrMax Then ChrMax = Chrx '紀錄 "換列字元" 的最大數目
- End If
- Next
- With Sheet1.Range("F1:F10")
- .RowHeight = IIf(ChrMax > 0, ChrMax, 1) * 12 '調整列高
- .Font.Size = 9 '製訂字體尺寸
- End With
- End Sub
複製代碼 |
|
|
|
|
|
|
|
- 帖子
- 134
- 主題
- 27
- 精華
- 0
- 積分
- 168
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2010-10-6
- 最後登錄
- 2018-5-13

|
13#
發表於 2012-1-18 08:43
| 只看該作者
GBKEE兄,按以上巨集套用原我附件,仍無法達成小弟要求的
小弟上網找了一些相關的討論,以下可達成一部份的要求(就是不斷行,以每行26字計算,超過即直接無條件進位一列)
以下巨集是一次判定200列,請問如何巨集自動判斷資料行數,自行可以按有資料的列數去設定欄高呢???
但如果按附件中F欄位的話則此仍無法達成(因依編號斷行,有時一列可能10幾個字)- Sub 行高()
- Dim i As Integer
- For i = 1 To 200
- If (Len(Cells(i, 12)) / 26) > 1 Then
- Y = Application.WorksheetFunction.RoundUp(Len(Cells(i, 12)) / 26, 0)
- Rows(i).RowHeight = 15 * Y
- End If
- Next
- End Sub
複製代碼 |
|
|
|
|
|
|
|