FAQ-705 Wie kopiere ich Daten aus einem Zellenblock in einen anderen?

Letztes Update: 16.06.2015

LabTalk unterstützt mehr als eine Methode des programmatischen Kopierens von Daten von einem Block in einen anderen (z.B. die X-Funktion copydata). Hinsichtlich Geschwindigkeit und Flexibilität ist eine der besten Methoden die Verwendung des Optionsschalter range -v. Bei Verwendung des Schalters -v können Sie einen einzelnen Block als einen Bereich definieren und Werte zu einem anderen Bereich, der mit -v definiert wurde, zuweisen. Blöcke müssen nicht die gleiche "Form" haben, solange die Anzahl der Elemente die gleiche ist (beachten Sie, dass der Zielblock existieren muss, bevor die Zuweisung durchgeführt wird).

// Import sample data into a new book fname$=system.path.program$ + "\Samples\Statistics\abrasion_raw.dat"; newbook; impasc; // Define a block as column A & B, all rows range -v ra1 = 1[1]:2[end]; // Create a new sheet newsheet; // Define a block as one column, using the ra1 block size range -v ra2 = 1[1:ra1.GetSize()]; // Assign the values in the first block to the second block ra2 = ra1; col(1)[L]$ = Combined;

Ein weiterer Vorteil von range -v ist, dass Sie mathematische Operationen für Daten durchführen können, während Sie einen neuen Zellenblock kopieren.

range -v rs=[Book2]1!1:3; range -v rt=[Book1]1!1:3; rt=rs*10 //multiply elements in rs by 10 and output to rt

Schlüsselwörter:kopieren, Daten kopieren, Bereich, Werte setzen, Mathematik

Origin-Version mind. erforderlich: 9.1 SR0