回答編集履歴

2

補足を追加

2020/07/17 03:25

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -7,6 +7,10 @@
7
7
 
8
8
 
9
9
  なお、「フィルターで隠されていない範囲」には、1行目の見出しも含まれてしまうので、シートAの1行目に見出しがあるのであれば、filterの抽出条件に`i > 1`を加えて見出しを対象外にする必要があるでしょう。見出しがなくて1行目からデータが並んでいるなら`i > 1 &&`の部分は不要です。
10
+
11
+
12
+
13
+ 修正: 自己解決したようですが、フィルターにマッチするデータがなかった場合の処理を追加します。
10
14
 
11
15
 
12
16
 
@@ -26,7 +30,11 @@
26
30
 
27
31
  var values = sheet.getDataRange().getValues().filter(function(_, i) {return i > 1 && !sheet.isRowHiddenByFilter(i + 1)})
28
32
 
33
+ if (values.length > 0) {
34
+
29
- sheetT1.getRange(sheetT1.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);
35
+ sheetT1.getRange(sheetT1.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);
36
+
37
+ }
30
38
 
31
39
  }
32
40
 

1

補足を追加

2020/07/17 03:25

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- なお、「フィルターで隠されていない範囲」には、1行目の見出し含まれてしまうので、filterの抽出条件に`i > 1`を加えて見出しを対象外にする必要があるでしょう。
9
+ なお、「フィルターで隠されていない範囲」には、1行目の見出し含まれてしまうので、シートAの1行目に見出しがあるのであれば、filterの抽出条件に`i > 1`を加えて見出しを対象外にする必要があるでしょう。見出しがなくて1行目からデータが並んでいるなら`i > 1 &&`の部分は不要です。
10
10
 
11
11
 
12
12