[英]Google sheets how to script: copy tab to new file?
我是使用 Google 表格的新手,並且試圖在 Google 表格中重現最簡單的 Excel 宏之一。
我正在嘗試做的事情:
在源文件中
這將是我的 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.