返回列表 上一主題 發帖

[發問] 資料的複製、貼上,語法問題

本帖最後由 n7822123 於 2019-6-21 14:11 編輯

回復 9# iceandy6150


UsedRange是計算某個工作表的使用範圍~~~所以前面最好指定是哪個Sheet
你的按鈕在工作表1,所以工作表1一開始就是Activate了~~~~
盡量不要一直切換工作表.........把自己弄混亂了~~~我光看你的說明...我自己也混亂了XD
依照你的寫法,我認為你還是直接指定哪個工作表比較安全^.^
你在ppt工作表的操作比較多,按鈕卻設在工作表1的確容易出問題

如果是我,就這樣寫摟~~~

With Sheets("PPT")
  If .[A1].Value <> "" Then .[A1:Z200].Delete Shift:=xlShiftUp    '清除所有資料
  [A1].CurrentRegion.Copy
  .[A1].PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
  , SkipBlanks:=False, Transpose:=False
  Application.CutCopyMode = False
  A = .UsedRange.Rows.Count
  For i = 2 To A
    .Range("U" & i).Value = .Range("G" & i).Value + 1
  Next i
End With
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 10# 准提部林


    好的,非常感謝

只是因為有時候很長一串
我都想省一下,呵呵
哈囉~大家好呀

TOP

UsedRange是計算某個工作表的使用範圍~~~所以前面最好指定是哪個Sheet
你的按鈕在工作表1,所以工作表1一開始就是Activate了~~~~
盡量不要一直切換工作表.........把自己弄混亂了~~~我光看你的說明...我自己也混亂了XD
依照你的寫法,我認為你還是直接指定哪個工作表比較安全^.^
你在ppt工作表的操作比較多,按鈕卻設在工作表1的確容易出問題

如果是我,就這樣寫摟~~~

With Sheets("PPT")
  If .[A1].Value <> "" Then .[A1:Z200].Delete Shift:=xlShiftUp    '清除所有資料
  [A1].CurrentRegion.Copy
  .[A1].PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
  , SkipBlanks:=False, Transpose:=False
  Application.CutCopyMode = False
  A = .UsedRange.Rows.Count
  For i = 2 To A
    .Range("U" & i).Value = .Range("G" & i).Value + 1
  Next i
End With
回復 11# n7822123

喔~ 那我知道了  按鈕在哪一頁,按下按鈕的時候,那一頁就是Activate了
任何指令或是省了 "前面地址" 的寫法,都是針對這一頁面在動作

所以如果三個SHEET,分別是【功能區】、【結果區】、【輸出區】
很多按鈕功能都是寫在【功能區】的話

我只要寫
Range("A1:B5").select  ==>> 【功能區】的A1~B5會被選取

如果想要針對另外兩個頁面去做處理
我就必須先寫WITH

With Sheets("結果區")
.Range("A1:B5").select    ==>>  【結果區】的A1~B5會被選取    前面要加"點",才是針對With的Sheet來動作

那來個測試
如果程式如下的話
Range("A1:B5").select

With Sheets("結果區")
.Range("A1:B5").select
End with

With Sheets("輸出區")
.Range("A1:B5").select
End with

果然就會乖乖的去選取各Sheet選取該對應的區塊
【功能區】的A1~B5會被選取
再來是
【結果區】的A1~B5會被選取
再來是
【輸出區】的A1~B5會被選取

原來有點 跟沒有點  還有WITH  是這樣用得喔
我會了  YA~ 感謝大大教學~
哈囉~大家好呀

TOP

        靜思自在 : 天上最美是星星,人生最美是溫情。
返回列表 上一主題