※ChatGPTのGPT-4を使って回答をしていますので、スパムではありません。
スパムと回答された方はその前にこの問題を解決してあげてみてはいかがでしょうか。
GAS使用して実現可能です。
以下のコードは、シートAのチェックボックスにチェックが入れられたら、その行のデータをシートBに転記する例です。
なお、Apps ScriptではJavaScriptの構文が使用されます。
まず、シートAのチェックボックスを設定する必要があります。
チェックボックスを作成するには、シートAで適切なセルを選択し、「挿入」メニューから「チェックボックス」を選択します。
次に、Google Apps Scriptのエディタを開き、以下のコードを貼り付けてください。
function copyCheckedRows() {
var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シートA");
var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シートB");
var sourceData = sourceSheet.getDataRange().getValues();
for (var i = 0; i < sourceData.length; i++) {
if (sourceData[i][0] === true) { // チェックボックスがチェックされている場合
var rowValues = sourceData[i].slice(1); // チェックボックスを除いた行のデータを取得
targetSheet.appendRow(rowValues); // シートBに行を追加
sourceSheet.deleteRow(i + 1); // シートAから元の行を削除
i--; // 削除された行を考慮
}
}
}
このコードでは、シートAとシートBという名前のシートがあることを前提としています。必要に応じて、シートの名前を変更してください。
このコードを実行するには、Apps Scriptエディタの「選択した関数を実行」ドロップダウンリストからcopyCheckedRowsを選択し、「実行」ボタンをクリックします。
また、このコードをGoogleスプレッドシートのボタンにリンクさせたい場合は、以下の手順で設定してください。
1.シートAにボタンを挿入します。ボタンを挿入するには、「挿入」メニューから「図形」を選択し、適切な図形を選択してシートに挿入します。
2.ボタンをダブルクリックし、ラベルを適切なテキストに変更します(例:「行をコピー」)。
3.ボタンを右クリックし、「スクリプトにリンク」を選択します。
4.ダイアログボックスにcopyCheckedRowsと入力し、「OK」をクリックします。
これで、ボタンをクリックすることで、シートAのチェックボックスがチェックされた行がシートBに転記されるようになります。
上記のコードと手順に従って、Googleスプレッドシートで納品書管理を行うことができます。
必要に応じてコードを調整し、シート名やセル範囲などを変更して、手持ちのスプレッドシートに適した設定にしてください。