Excel stellt fest, dass die Zeilen die Anforderungen erfüllen

王林
Freigeben: 2024-01-12 18:48:32
nach vorne
756 Leute haben es durchsucht

Excel stellt fest, dass die Zeilen die Anforderungen erfüllen

Fügen Sie die Befehlsschaltfläche in Sheet2 ein und programmieren Sie sie wie folgt:

Private Sub CommandButton1_Click()

Dimmen Sie i1 so lange, i2 so lang

Dim a$, b$

i2 = 2

Do While Range("C" & i2) ""

a$ = ""

b$ = ""

i1 = 1

Do While Worksheets("Sheet1").Range("C" & i1) ""

Wenn Worksheets("sheet1").Range("C" & i1) = Range("C" & i2) Then

a$ = a$ & Worksheets("sheet1").Range("A" & i1) & ";"

b$ = b$ & Worksheets("sheet1").Range("B" & i1) & ";"

Ende wenn

i1 = i1 + 1

Schleife

Wenn a$ "" Dann a$ = Left(a$, Len(a$) - 1)

Wenn b$ "" Dann ist b$ = Left(b$, Len(b$) - 1)

Range("A"& i2) = a$

Range("B"& i2) = b$

i2 = i2 + 1

Schleife

End Sub

So erhalten Sie mehrere Textzeilen vor und nach einer bestimmten Zeichenfolge unter Linux

Diese Befehlszeile kann Ihnen dabei helfen, den Commit-Block zu löschen, der „Merge“ enthält (mehrere solcher Textblöcke)

sed -n '/commit/{:a;h;n;/Merge/b;:c;H;n;$bd;/commit/!bc;:d;x;p;x;ba}' log > log.txt

Der Betriebseffekt ist wie folgt:

Excel stellt fest, dass die Zeilen die Anforderungen erfüllen

Mein Befehl ist möglicherweise etwas kompliziert. Eine kleine Erklärung, nur als Referenz:

Unter ihnen: a :b :c :d ist die Befehlssprungmarke label

1. /commit/{:a;h;n;

Wenn eine Commit-Zeile gefunden wird, kopieren Sie diese Zeile in den Haltebereich und lesen Sie die nächste Zeile.

2. /Zusammenführen/b;

Wenn die gerade gelesene neue Zeile „Merge“ enthält, beenden Sie die Verarbeitung dieser Zeile, lesen Sie die nächste Zeile und suchen Sie weiter nach „Commit“

Wenn die gerade gelesene neue Zeile nicht Merge enthält, fahren Sie mit der Ausführung nachfolgender Befehle in dieser Zeile fort:

3. :c;H;n;$bd;/commit/!bc;:d;x;p;x;ba}

Fügen Sie diese Zeile an den Haltebereich an und lesen Sie die nächste Zeile. Wenn die letzte Zeile nicht erreicht ist und kein Commit gefunden wird, führen Sie den Befehl bc aus und springen Sie zum c-Label – wiederholen Sie diesen Vorgang, bis das Ende der Datei gelesen ist oder lesen Sie „Gehe zu der Zeile, die „Commit“ enthält. Dann tauscht x den Inhalt des Halteraums mit dem Inhalt des Musterraums aus, p gibt den Inhalt des Musterraums aus (d. h. den Block, der die Zusammenführung nicht enthält), x tauscht ihn erneut aus und der Der Musterraum wird zum vorherigen Inhalt (das Ende der Datei oder enthält die Festschreibungszeile). ba, springen Sie zur Beschriftung a, überprüfen Sie diese Zeile weiter und wiederholen Sie die Schritte 1, 2 und 3.

Wenn der obige Befehl geändert wird in:

sed -n '/commit/{:a;h;n;/Merge/!b;:c;H;n;$bd;/commit/!bc;:d;x;p;x;ba}' log > log.txt

Dann ist das Ausgabeergebnis nur der Commit-Block, der Merge enthält

Lesen Sie die Daten und die Anzahl der Zeilen und Spalten in der TXT-Datei in MFC

Da es 1-stellige und 4-stellige Daten gibt, kann die Anzahl der Zeilen und Spalten nicht bestimmt werden, wenn im txt kein spezieller Wagenrücklauf vorhanden ist. Wenn es einen Wagenrücklauf gibt, verwenden Sie einfach

#include

char *strtok( char *str1, const char *str2 );

Es wird gelöst.

Erst mit getline() einen String pro Zeile auslesen und die Anzahl der Zeilen addieren, dann

char *result = NULL;

char string[100][100];

int x = 0;

result = strtok( str, " ");

while( result != NULL ) {

strcpy(string[x++] , result);

result = strtok( NULL, " " );

}

Auf diese Weise können alle Daten mithilfe eines String-Arrays gespeichert werden. x zeichnet die Gesamtzahl auf, dann ist x dividiert durch die Anzahl der Zeilen die Anzahl der Spalten.

Ich habe heute Zeit, ich helfe dir beim Ausarbeiten des gesamten Programms:

#include

#include

#include

using namespace std;

void main(){

char ch[100] = "

char b[100][100];

int x=0,y=0;

ifstream fin("123.txt",ios::in);

fin.getline(ch,100);

while(!fin.eof()){

++x;

cout char *result = NULL;

result = strtok(ch,",");

while( result != NULL ) {

strcpy(b[y++],result);

cout result = strtok( NULL, "," );

}

memset(ch,0,100);

fin.getline(ch,100);

}

fin.close();

}

//Es wurde schon einmal ausgeführt, kein Problem, b[100][100] sind alle Elemente, x ist die Anzahl der Zeilen, y/x ist die Anzahl der Spalten.

Das obige ist der detaillierte Inhalt vonExcel stellt fest, dass die Zeilen die Anforderungen erfüllen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:docexcel.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage