Zum Inhalt springen

VB - EXCEL - Zeilen entfernen


Kajetan

Empfohlene Beiträge

Hallo,

ich habe folgendes Problem...

- ich möchte leere Zeilen aus einer Excel Datei rauslöschen

- Felder die nicht mit einer nummer > 2000 beginnen, aus der 1 Spalte, an eine andere Stelle Kopieren(spalte 4 eine Zeile davor)

Ich habe leider wenig erfahrung mit VB ich hoffe mir kann geholfen werden, ich freue mich über jede helfende Antwort/Vorschläge:

diese Datei hat ca 20 000 Zeilen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da kann ich nur kucken wie ich lösche, aber momentanes Problem is wohl,

wie durchsuch ich alle Zeilen, das wär guter Ansatz, aber soetwas is hald mit Aufzeichnung nicht möglich der benutzt hier lediglich " ActiveCell.Select ".

Sub Makro1()

For Each rw In Worksheets(1).Cells(1, 1).CurrentRegion.Rows

this = rw.Cells(1, 1).Value

If this = @ Then rw.Delete

Next

End Sub

@ = null, "", 0 ;

bei @ hab ich null, "", und 0 probiert macht aber irgendwie nix aus geht trotzdem nicht. Worksheets is mir nicht ganz gehäuer mal kuckn..

Naja das hab ich bisher zusammengekriegt, haut aber ned hin

thnx 4 info

Link zu diesem Kommentar
Auf anderen Seiten teilen

bastel doch eine schleife, etwa so:

do

x = x + 1

if cells(x, 1) = vbnullstring and cells(x, 2) = vbnullstring ... then

rw.delete

end if

if cells(x, 1) < 2000 then

cells(x, 4) = cells(x. 1)

cells(x, 1) = vbnullstring

end if

loop until x = 20000

ich glaube so sollte es gehen, hab aber mit vb(a) nicht wirklich viel zu tun. erläuterung:

- if cells(x, 1) = vbnullstring and cells(x, 2) = vbnullstring ... then

rw.delete

end if

soll sagen wenn die zellen der row leer sind, lösche diese

- if cells(x, 1) < 2000 then

cells(x, 4) = cells(x. 1)

cells(x, 1) = vbnullstring

end if

soll sagen wenn zelle 1 kleiner als 2000 ist dann ist zelle 4 = dem inhalt von zelle 1 ; zelle 1 wird geleert

- loop until x = 20000

soll sagen, mach das bis du bei zeile 20000 angekommen bist.

wie gesagt, bin nicht ganz fit in vba, lasse mich also gern verbessern

Link zu diesem Kommentar
Auf anderen Seiten teilen

wär ja ned so schwer, aber ich kenn die Befehle ned .. so ein &%§§!

Variablendeclaration in VB braucht DIM also

Dim i as Integer .. nur so am Rand.

Ich probier noch bischen.

Das Cell(X,Y) einfach runterzählen geht glaub ich garnicht weil Cell eine Methode von Worksheets is.

Aber wirklich weitergekommen bin ich noch nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

sorry man, aber ich bin davon ausgegangen, dass ich sowas schnödes wie die deklaration nicht auch noch angeben muss!

ich denke du solltest dir besser mal ein buch zur hand nehmen, die fehlen da offensichtlich ganz grundlegende begriffe in deiner programmiersprache!

und runtergezählt wird absolut gar nichts in dem (pseudo)code.

leider hab ich jetzt nicht die möglichkeiten dies zu testen, bin mir aber fast sicher, dass das so laufen sollte, zumindest ist es ziemlich nah dran. glaub ich jedenfalls :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...