返回列表 上一主題 發帖

[發問] 如何讓執行巨集的範圍,剛好在這一次複製的範圍內

[發問] 如何讓執行巨集的範圍,剛好在這一次複製的範圍內

想請教各位
我寫了一個巨集
Sub test()
Selection.PasteSpecial xlPasteValuesAndNumberFormats
Range("B2").Replace What:="/", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

每次使用巨集前
我會先用滑鼠選擇我要複製的範圍(每次範圍都不一樣)
再用滑鼠點選到我要複製的目地欄位A2,然後啟動巨集
第一次可以用,但第二次就不行
因為我如果目地變A5或其他地方,這個巨集卻只會改變B2範圍,而不是我要的B5範圍或其他地方範圍

我曾嘗試把
Range("B2").Replace What:="/", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

改為 Range("B:B")  但程式卻把整個B欄位都取代 (這不是我想要的)

我希望 如果複製Range(" A2:G2"),程式可以幫我只改Range("B2")
                 或複製Range(" A5:G10"),程式可以幫我只改Range("B5:B10")

想請教各位,我這一段B欄位要如何修改,才可以剛好只落在我這一次複製的範圍內
謝謝

因該是類似Range("B65536").End(xlUp).Copy

TOP

這樣複雜 有沒有簡化版
謝謝

TOP

回復 4# 准提部林


准大好
你的方式比較適合我
想再請教 同樣的道理 這一次我希望日期轉換
請教.Columns(2)我要如何修改  謝謝
Selection.TextToColumns Destination:=Selection, DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 10), TrailingMinusNumbers:=True

TOP

回復 3# GBKEE


   G大
你的方法,我還要努力中
謝謝

TOP

回復 8# 准提部林

准大好
Columns(2)只可以幫我改一個儲存格
但是我希望 如果複製Range(" A2:G2"),程式可以幫我只改Range("B2")
                 或複製Range(" A5:G10"),程式可以幫我只改Range("B5:B10")
請教我要如何修改
謝謝

TOP

回復 10# GBKEE


    G大
剛試了一下,還是得用你的方法才行
謝謝!!   假日愉快

TOP

回復 12# 准提部林


      請教准大
前提一樣在既有的選擇區內 , 再選一次我要的範圍時
如果用Columns()時,但這一次我想要選擇倆個以上的欄位
請問要如何修改
謝謝

TOP

回復 14# 准提部林


    謝謝准大指導
           假日愉快

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題