簡體   English   中英

谷歌表格如何編寫腳本:將標簽復制到新文件?

[英]Google sheets how to script: copy tab to new file?

我是使用 Google 表格的新手,並且試圖在 Google 表格中重現最簡單的 Excel 宏之一。

我正在嘗試做的事情:

在源文件中

  • 跳轉到源選項卡 select 此選項卡(包含計算)和復制(工作)
  • 跳轉到臨時選項卡僅粘貼值和格式(有效)
  • 將臨時選項卡復制到新文件(不起作用)

這將是我的 excel 代碼供參考

Sub EXPORT()
' ---------------------------------------------------------------
' GRAB SOURCE TAB & COPY
' ---------------------------------------------------------------
    Sheets("SOURCE").Select
    Cells.Select
    Selection.Copy
' ---------------------------------------------------------------
' SELECT TEMP TAB & PASTE VALUES & FORMAT (WITHOUT CALCULATIONS)
' ---------------------------------------------------------------
    Sheets("TEMP").Select
'
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
'
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
'
    Range("A1").Select
' ---------------------------------------------------------------
' COPY TEMP TAB OUT TO NEW FILE
' ---------------------------------------------------------------
    Range("A1").Select
    Sheets("TEMP").Select
    Application.CutCopyMode = False
    Sheets("TEMP").Copy

End Sub

我還想做一些其他事情(例如根據 cel 確定新文件名等)等,但經過 2 天的搜索,我只是不明白為什么我會堅持這么簡單的事情。

手動它只會是

  • 右鍵單擊選項卡
  • 復制到 -> 新電子表格

我已經或多或少嘗試了一切,從簡單地記錄宏(似乎沒有記錄新的電子表格操作)到從比我復雜得多的問題中實現部分代碼(最終做錯了錯誤) ,所以如果這是一個簡單的問題,我真的很抱歉,但我很困惑:(

非常感謝閱讀

蒂姆

如果您的目標是開發一個僅將一個特定工作表復制到新電子表格的宏,您可以使用Apps 腳本 然后你只需要導入 Apps Script function 並像宏一樣運行它。

可以使用SpreadsheetApp.create()創建一個新工作表,然后使用Range.copyTo()填充它。 您可以使用SpreadsheetApp.getActiveSheet()確保僅復制活動工作表。

function myFunction() {
  var newSpreadsheet = SpreadsheetApp.create("My new Sheet")
  SpreadsheetApp.getActiveSheet().copyTo(newSpreadsheet);
}

我假設您知道如何導入宏,但如果您需要進一步的幫助,請在下方留言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM