Ich schreibe ein C # -Programm, das einen Zellbereich von einem Arbeitsblatt einer Arbeitsmappe in ein Arbeitsblatt einer anderen Arbeitsmappe kopiert. Aber das Problem, mit dem ich konfrontiert bin, ist, dass ich nur das gesamte Arbeitsblatt des ersten Arbeitsbuchs kopieren und einfügen kann. Ich möchte wissen, wie Sie nur einen bestimmten Bereich (von Zeile 5 [Spalte 1 bis Spalte 10] bis Zeile 100 [Spalte 1 bis Spalte 10]) auswählen und in das zweite Arbeitsmappen-Arbeitsblatt ab Zeile 2 Spalte 8 einfügen.
Ich möchte auch wissen, wie man eine Spalte von C1 bis C100 mit einem bestimmten Wert auf direkte Weise füllt, anstatt die Schleife wie folgt zu verwenden
%Vor%Hier ist der Code, den ich bisher geschrieben habe
%Vor%Für den ersten Teil der Einstellung des gleichen Wertes für den gesamten Bereich, statt der folgenden Schleife funktioniert
range1 = workSheet.get_Range ("A1: B100"); range1.Value="Fest";
Und zum Kopieren können Sie versuchen, was @mrtig vorgeschlagen hat.
Mrtig hat eine sehr elegante Lösung. Aber es wird nicht funktionieren, wenn Sie die Arbeitsmappen in separaten Instanzen von Excel haben. Also, der Schlüssel ist, sie in nur einer Instanz zu öffnen. Ich habe Ihr Beispiel so geändert, dass es mit diesem Ansatz angezeigt wird:
%Vor%