回答編集履歴

1

回答を追記しました。

2019/04/21 12:50

投稿

kisojin
kisojin

スコア899

test CHANGED
@@ -29,3 +29,47 @@
29
29
  ### 参考
30
30
 
31
31
  - [getRange(row, column, numRows, numColumns)](https://developers.google.com/apps-script/reference/spreadsheet/sheet#getrangerow-column-numrows-numcolumns)
32
+
33
+
34
+
35
+ ## 追記
36
+
37
+ コメントにありました「コピー先のA列にはすでに値が入っており、B列の最終行とA列の最終行は異なり、B列の最終行の次の行に値をコピーしたい」との要望に対する修正案は次の通りです。ご確認ください。ご質問にあるスクリプトを書きのように修正し、動作をご確認ください。
38
+
39
+
40
+
41
+ ### From
42
+
43
+ ```javascript
44
+
45
+ var targetRow = sheet_copyTo.getLastRow()+1;
46
+
47
+ sheet_copyTo.getRange('B'+targetRow+':D'+targetRow).setValues(copyValue);
48
+
49
+ ```
50
+
51
+
52
+
53
+ ### To
54
+
55
+ ```javascript
56
+
57
+ var targetColumnB = sheet_copyTo.getRange("B1:B" + sheet_copyTo.getLastRow()).getValues();
58
+
59
+ var targetRow = 0;
60
+
61
+ for (targetRow = targetColumnB.length - 1; targetRow >= 0; targetRow--) {
62
+
63
+ if (targetColumnB[targetRow][0]) {
64
+
65
+ targetRow += 2;
66
+
67
+ break;
68
+
69
+ }
70
+
71
+ }
72
+
73
+ sheet_copyTo.getRange(targetRow, 2, copyValue.length, copyValue[0].length).setValues(copyValue);
74
+
75
+ ```