質問編集履歴
1
スプレッドシートのリンクも追加しました。コードも自分なりに書き換えてみました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
スプレッドシート
|
1
|
+
スプレッドシートの、C列のタイトルの削除したい文字をマクロを使用して一括で削除したいです。
|
body
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
スプレッドシートに2000件ほどの商品データがあり、C列のタイトルに削除したい文字がそれぞれ違い複数大量にあります。その削除したい文字をマクロを使用して一括削除しようとまずは、その文字をこの変換にする変換表(C列用)を作成しました。その後、javascriptでその変換表を読み込み、それに基づいて一括変換するように記述したつもりですが
|
1
|
+
スプレッドシートに2000件ほどの商品データがあり、C列のタイトルに削除したい文字がそれぞれ違い複数大量にあります。その削除したい文字をマクロを使用して一括削除しようとまずは、その文字をこの変換にする変換表(C列用)を作成しました。その後、javascriptでその変換表を読み込み、それに基づいて一括変換するように記述したつもりですが、スクリプトは終了しましたと出るのですが変換されません。どこがいけないのか教えて頂けないでしょうか?
|
2
2
|
|
3
|
+
スプレッドシートのリンクも付けましたので、教えてください。何か記述が間違っているのでしょうか?またはほかに方法があるのでしょうか?
|
4
|
+
|
3
5
|
function reg(){
|
4
6
|
const targetSheetName = "sheet1";
|
5
7
|
const targetA1notation = "C:C";
|
6
8
|
const dictionarySheetName = "C列用";
|
7
|
-
const dictionaryA1Notation = "A2:
|
9
|
+
const dictionaryA1Notation = "A2:B320";
|
8
10
|
const spreadsheet = SpreadsheetApp.getActive();
|
9
11
|
const targetRange = spreadsheet
|
10
12
|
.getSheetByName(targetSheetName)
|
@@ -14,10 +16,13 @@
|
|
14
16
|
.getRange(dictionaryA1Notation)
|
15
17
|
.getValues();
|
16
18
|
dictionary.forEach(function(e) {
|
19
|
+
if(e[0] != null
|
17
|
-
|
20
|
+
&& e[1] != null
|
21
|
+
&& e[0] != undefined
|
22
|
+
&& e[1] != undefined
|
23
|
+
&& e[0] != ""
|
24
|
+
&& e[1] != ""){
|
18
25
|
targetRange.createTextFinder(e[0]).replaceAllWith(e[1]);
|
19
|
-
|
26
|
+
}
|
20
27
|
});
|
21
|
-
}
|
22
|
-
|
23
|
-
|
28
|
+
}[リンク内容](http://https://docs.google.com/spreadsheets/d/1xhvWma-8nIBDxVlDA3fHLzHE2u8r16wsKU2VxQPZ7SU/edit#gid=0)
|