Frage

Ich habe eine Excel-Tabelle, die etwa 18 k Reihen und drei Spalten. Ich möchte dies als Schlüssel in einer Access-Datenbank verwenden. So sind die drei Säulen sind

[IDKeyNumber]    [Name]    [Category]

Das Problem ist, an bestimmten Stellen der IDNumber dupliziert wird, weil die Kategorie zwei Kategoriecodes (typeA & typeB)

Alles, was ich wirklich wissen müssen, wie zu tun ist, jede „Zeile / record“ in der Excel-Tabelle zu löschen, wo die ID # s & Namen übereinstimmt (wie in Spielen eines weiteren Rekord die Vervielfältigung zu isolieren) und die Kategorie = TypeB.

Also ich will nur alle doppelten Zeilen / Datensätze, um loszuwerden, die diese TYPD in der Kategorie Feld haben.

Danke!

IA: einige Zeilen oder Datensätze haben eine gültige TypeB Kategorie, die nicht eine Verdoppelung ist, deshalb muss ich den Datensatz = Datensatz mit Ausnahme der Kategorie Idee ... Danke

War es hilfreich?

Lösung

Es ist möglich, ADO und SQL mit Excel, beispielsweise zu verwenden:

Dim cn As Object
Dim rs As Object

strFile = Workbooks(1).FullName
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
    & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL = "SELECT id, name, max(type) AS type FROM [Sheet1$] GROUP BY id, name"

rs.Open strSQL, cn

For i = 0 To rs.Fields.Count - 1
    Sheets("Sheet2").Cells(1, i + 1) = rs.Fields(i).Name
Next

Sheets("Sheet2").Cells(2, 1).CopyFromRecordset rs

Andere Tipps

Nehmen wir an, die Spalten A, B und C.

  1. in Spaltenüberschriften (id, name, Kategorie) über den Spalten
  2. Sortieren von A & B (wenn Sie benötigen erhält die Sortierreihenfolge, siehe unten)
  3. in D2, legen Sie die Formel „= AND (A2 = A1, B2 = B1, C2 = "TypeB") "
  4. füllen unten
  5. Verwenden Sie Autofilter wählen nur die Zeilen, in denen D falsch ist.
  6. Kopieren und Einfügen je nach Bedarf.

Für die Sortierreihenfolge zu bewahren, werden Sie eine andere Spalte benötigen - lassen Sie uns E sagen, weil wir D für die Formel verwendet. Vor dem Sortieren, legte 1 in E2, E3 in 2, und in der Reihe füllen. Sie können dies tun, indem Sie den Griff wachsen ziehen oder die Werte tatsächlich in D2 und D3 setzen, so dass sie zu gefüllten Zellen benachbart sind, dann doppelklicken Sie auf den Griff wachsen. Es gibt auch einen Befehl irgendwo auf den Speisekarten, dies zu tun, aber ich erinnere mich nicht, seinen Namen oder den Ort.

@Carls Vorschlag oder etwas ähnliches ist der schnellste Weg zu bekommen, was Sie in Excel benötigen.

Eine weitere Option kann nur die Tabelle in Access eingerichtet und alle Primärschlüssel festgelegt. Dann einfach die Daten importieren und alle Fehler ignorieren, die aus ihm heraus kommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top