So löschen Sie bestimmte Spalten in vba für excel
Ich versuche zu löschen, mehrere Spalten in vba für excel. Ich lade Daten von der Illinois Statistical analysis center über die Drogen-Verhaftung. http://www.icjia.org/public/sac/index.cfm?metasection=forms&metapage=rawMetadata&k=170
Jede der Spalten ich löschen möchte, sind 3 Spalten neben einander.
Beispiel:
Adams County Illinois, Champaign County, Illinois
Schätzung |Prozent | Prozent-Marge von Fehler |Schätzung-Marge| Schätzung|Prozent|Prozent-Marge von Fehler
D|E|F|G|H|I|J
Ich will einfach nur, um zu löschen Sie alle Spalten, die sagen-Prozent-Fehlerquote
Hier ist mein Mikro:
Sub deleteCol()
Columns("H,J").Delete
End Sub
Ich erhalte einen Laufzeitfehler '13: type mismatch" - Fehler
Irgendwelche Vorschläge?
es sagt nicht excute-code im Pause-Modus
InformationsquelleAutor Zaynaib Giwa | 2014-10-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie sagen, Sie wollen zu löschen, die Spalte mit dem Titel "ein-Prozent-Fehlerquote", so lassen Sie uns versuchen, um diese Dynamik statt der Benennung der Spalten direkt.
Mit diesem können Sie nicht brauchen, um über, wo Sie die Daten eingefügt/importiert, so lange, wie die Spaltenüberschriften in der ersten Zeile.
EDIT: Und wenn Ihr Header nicht in der ersten Zeile, wäre es eine sehr einfache änderung. In diesem Teil des Codes:
If InStr(1, wsCurrent.Cells(1, i).Value, "Percent Margin of Error", vbTextCompare)
ändern Sie die "1" inCells(1, i)
zu welcher Zeile deine überschriften sind in.EDIT 2: Verändert die
For
Abschnitt des Codes, um Konto für die komplett leere Spalten.Persönlich meine wichtigsten Ressourcen sind diese website und Google. Ich habe nie formale Kurse oder tutorials zu diesem, so würde ich nicht wissen, was Sie empfehlen in diesem Bereich leider.
Vielen Dank für die Beratung, obwohl.
Ich glaube nicht, dass dies funktionieren würde, wenn zwei aufeinander folgende Spalten passieren zu enthalten, die verboten string. Jedes mal eine Spalte gelöscht wird, die nächste Spalte nicht überprüft werden, aufgrund der Spalte verschieben in die "i" Position. Beispiel. Spalten c & d (3 & 4) haben beide den string. i=3. Kein problem, es fällt der Zeichenfolge gelöscht und die Spalte verschieben der ehemaligen "D" - Spalte (4) in die position C (3). Dann next i =4. Es überprüft nicht die Spalte 3 wieder zu sehen, dass die Zeichenfolge. Es wird übersprungen.
Eine größere Frage ist, warum sich überhaupt die Mühe, erstellen eine dynamische Lösung mit einem hart codiert Kriterien in Erster Linie? Wenn Sie das tun wollen, verwenden Sie ein Eingabefeld, um zumindest machen es wirklich dynamisch. Ansonsten, hoffe, dass Sie Zauber, der string korrekt mit den richtigen Kapitalisierung. Nur zu sagen.
InformationsquelleAutor BobbitWormJoe
Du warst nur fehlt die zweite Hälfte der Spalte Anweisung sagen Sie zu entfernen Sie die gesamte Spalte, da die meisten der normalen Bereiche beginnen mit einer Spalte Brief, er war auf der Suche für eine Zahl und habe keine bekommen. Der ":" wird die ganze Spalte oder Zeile.
Ich denke, dass das, was Sie suchen in Ihren Bereich wurde das:
Ändern Sie einfach die Spalte Buchstaben, um Ihre Bedürfnisse anzupassen.
InformationsquelleAutor peege