Hallo,
folgendes Problem:
Ich möchte aus einer Excel-Liste herausfinden ob es in einer Spalte ein Duplikate gibt, falls es so sein sollte, möchte ich aus der Zeile daneben (!) des zweiten Duplikates, die Informationen kopieren und in die Zeile neben des ersten Duplikat einfügen.
Falls es einfacher geht, kann man die Excel-Liste auch in seperate Listen teilen. Falls ihr Code zur Verfügung stellt, bitte auch grob erklären - ist mein erster Versuch mit AHK & Excel.
Danke!
EXCEL - Duplikate kopieren und einfügen
Moderator: jNizM
Re: EXCEL - Duplikate kopieren und einfügen
Moin,
da gibt es grundsätzlich zwei Möglichkeiten:
da gibt es grundsätzlich zwei Möglichkeiten:
- Man verwendet ein COM-Objekt und arbeitet dann in etwa so wie in VBA (oder wie immer sich das heute nennt).
- Man arbeitet mit einer aus Excel exportierten CSV-Datei.
Re: EXCEL - Duplikate kopieren und einfügen
Danke für die Antwort!
Grundsätzlich ist beides in Ordnung, ersteres wäre mir glaub ich aber lieber.
"Für mich gibt es z.B. neben einer Spalte nur Spalten, keine Zeilen." Whoops, genau das meinte ich.
Wegen dem Beispiel:
- - - - - | -A- | -B-
Zeile 1 | 500 | Hallo
Zeile 2 | 316 | Ort
Zeile 3 | 262 | Haus
Zeile 4 | 863 | Ziffer
Zeile 5 | 548 | Weg
Zeile 6 | 500 | Guten Tag
In diesem Beispiel würde man B1 mit Guten Tag ersetzen (optional: die Zeile 6 löschen)
Je höher die Nummer der Zeile, desto aktueller ist die Information in der Spalte B.
Grundsätzlich ist beides in Ordnung, ersteres wäre mir glaub ich aber lieber.
"Für mich gibt es z.B. neben einer Spalte nur Spalten, keine Zeilen." Whoops, genau das meinte ich.
Wegen dem Beispiel:
- - - - - | -A- | -B-
Zeile 1 | 500 | Hallo
Zeile 2 | 316 | Ort
Zeile 3 | 262 | Haus
Zeile 4 | 863 | Ziffer
Zeile 5 | 548 | Weg
Zeile 6 | 500 | Guten Tag
In diesem Beispiel würde man B1 mit Guten Tag ersetzen (optional: die Zeile 6 löschen)
Je höher die Nummer der Zeile, desto aktueller ist die Information in der Spalte B.
1A_OS
Re: EXCEL - Duplikate kopieren und einfügen
Hab mittlerweile die Lösung gefunden!
Danke trotzdem
Danke trotzdem
![Smile :)](./images/smilies/icon_e_smile.gif)
Code: Select all
Num := [], RowToDelete := []
xl := ComObjActive("Excel.Application")
for cell in xl.ActiveSheet.UsedRange.Columns(1).cells
{
if !Num[cell.text]
Num[cell.text] := cell.offset(0,1)
else
{
Num[cell.text].value := cell.offset(0,1).value
RowToDelete.push(cell.row)
}
}
for i, row in RowToDelete
xl.rows(row - A_Index+1).EntireRow.delete
1A_OS
Who is online
Users browsing this forum: No registered users and 46 guests