Добрый день. Надеюсь, у вас, ребята, все хорошо.
Я новичок в Google Sheet, и мне очень нужна ваша помощь. Обычно я использовал приведенный ниже образец/строки в MS Excel для автоматического копирования формулы из ячейки C2:D2 в ячейку C3:D6, а затем преобразования ее в значения. Я также использовал ячейку A1 в качестве ссылки на диапазон, чтобы она могла копировать формулу до строки 6.
Проблема: я не знаю, как сделать то же самое в листе Google, поскольку сценарий отличается от сценария MS Excel VBA.
Эта строка ниже представляет собой пример сценария, который я использую в Excel VBA, и я не знаю, как сделать то же самое в листе Google:
Sheets("Sheet1").Select
x = Range("A1").Value
Range("C2:D2").Select
Selection.Copy
Range("C3:D" & x).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("C3:D" & x).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False"
Пожалуйста, смотрите изображение ниже для справки.
Я считаю, что ваша цель состоит в следующем.
В этом случае как насчет следующего примера сценария?
Скопируйте и вставьте следующий сценарий в редактор сценариев электронной таблицы Google и задайте имя своего листа. И сохраните скрипт.
function myFunction() {
const sheetName = "Sheet1"; // Please set your sheet name.
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
const row = sheet.getRange("A1").getValue();
sheet.getRange("C2:D2").copyTo(sheet.getRange(`C3:D` + row), SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);
}
@Poch О твоем новом вопросе Now I want to copy Cell C3:D6 and then paste it into Values. I tried this line but it is not working. sheet.getRange("C3:D6").copyTo(sheet.getRange(C3:D + row), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false)
, какой вопрос? Потому что, когда ваш первоначальный вопрос изменяется комментарием, другие пользователи, которые видят ваш вопрос, приходят в замешательство. Опубликовав его как новый вопрос, пользователи, включая меня, смогут подумать об этом. Я рад. Можете ли вы сотрудничать, чтобы решить ваш новый вопрос?
Я понимаю. Извини за это.
@Poch Спасибо за ответ. Это не проблема. Я хотел бы продолжать поддерживать вас.
Двигаясь вперед, я опубликую это как вопрос, а не как комментарий. Есть ли у вас идеи, какой код мне следует использовать, чтобы скопировать ячейку C3: D6 и вставить ее как значения? sheet.getRange("C3:D6").copyTo(sheet.getRange(C3:D + row), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false)
@Poch Спасибо за ответ. Когда я увидел ваш опубликованный новый вопрос, я хотел бы его проверить.
Добрый день. Надеюсь, у тебя все хорошо. Теперь я хочу скопировать ячейку C3:D6 и затем вставить ее в «Значения». Я попробовал эту линию, но она не работает. sheet.getRange("C3:D6").copyTo(sheet.getRange(
C3:D
+ row), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);