標題:
[發問]
取代的寫法&公式無法正常運算
[打印本頁]
作者:
adam2010
時間:
2013-5-8 22:07
標題:
取代的寫法&公式無法正常運算
請教各位高手,如附檔~[attach]14929[/attach]
1.有一段取代的部分不知道有沒有比較快的寫法?
2.有一段公式我建立的時候可以加總,但是用巨集複製過去使用時卻無法使用,即使將標題複製後以值貼上也一樣,但是重新輸入又OK,不知道是什麼問題?
3.複製過去的公式要拉(複製)到最後一列要怎麼寫?
不好意思! :L 土法煉鋼 + 到處爬文拼湊出來的東西有點凌亂,請各位高手不吝賜教,謝謝!
作者:
Hsieh
時間:
2013-5-8 23:25
回復
1#
adam2010
Sub ex()
With Sheets("data")
.Cells.Clear '清空工作表
Sheets("Original").UsedRange.Copy .[A1] '複製資料
.Columns("C").Replace "*計", "" '將含有"計"的儲存格清空
.Columns("C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete '將上列清空的位置整列刪除
.Columns("A").UnMerge 'A欄取消合併
.Rows(1) = .Rows(1).Value '標題列重新給值,可將原來數值存成文字部分改成數值
For i = 6 To 23 '分欄執行取代動作加快速度
.UsedRange.Columns(i).Replace "-", "" '去除-號
Next
.[F:P].Insert '插入欄
Sheets("公式").[F1:P2].Copy .[F1] '複製公式
r = .Cells(.Rows.Count, 5).End(xlUp).Row '資料列數
.Range("F2:P2").AutoFill Destination:=.Range("F2:P" & r) '公式向下填滿
End With
End Sub
複製代碼
作者:
adam2010
時間:
2013-5-9 00:03
感謝Hsieh大如此迅速地回覆,而且如此簡短的程式就將我的疑問都解決了,
而且說明很詳盡,應該可以自己活用,真是太感謝了!
作者:
adam2010
時間:
2013-5-9 11:13
本帖最後由 Hsieh 於 2013-5-9 14:02 編輯
Dear Hsieh大,由於複製公式還有一段是在工作表右側尾端(位置不固定),我是用
Selection.End(xlToRight).Select
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
'找到最右邊一欄的旁邊那一欄
Sheets("公式").Select
ActiveWindow.LargeScroll ToRight:=3
Range("DL1:DS2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("data").Select
ActiveSheet.Paste
'將公式複製過來
但是我要如何找到公式範圍向下填滿?
作者:
Hsieh
時間:
2013-5-9 14:14
回復
4#
adam2010
Sub ex()
With Sheets("data")
.Cells.Clear '清空工作表
Sheets("Original").UsedRange.Copy .[A1] '複製資料
.Columns("C").Replace "*計", "" '將含有"計"的儲存格清空
.Columns("C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete '將上列清空的位置整列刪除
.Columns("A").UnMerge 'A欄取消合併
.Rows(1) = .Rows(1).Value '標題列重新給值,可將原來數值存成文字部分改成數值
For i = 6 To 23 '分欄執行取代動作加快速度
.UsedRange.Columns(i).Replace "-", "" '去除-號
Next
.[F:P].Insert '插入欄
Sheets("公式").[F1:P2].Copy .[F1] '複製公式
r = .Cells(.Rows.Count, 5).End(xlUp).Row '資料列數
.Range("F2:P2").AutoFill Destination:=.Range("F2:P" & r) '公式向下填滿
k = .UsedRange.Columns.Count + 1 '得到已使用欄位數
Sheets("公式").[DL1:DS2].Copy .Cells(1, k) '複製公式到表尾
.Cells(2, k).Resize(, 8).AutoFill .Range(.Cells(2, k), .Cells(r, k + 7)) '向下填滿
End With
End Sub
複製代碼
作者:
adam2010
時間:
2013-5-9 21:02
真是太神了,在這個論壇真得顛覆了我對Excel巨集的看法,
最重要的是很多像Hsieh大一樣熱心的人的付出,真是太感謝了!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)