Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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

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.

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

Hehe jau :WD des is auch nah dran bin ich mir sicher

mercy für die Hilfe!! bin noch immer ganz Konfus weil ich keine ; am Ende einer Zeile machen muss aber langsam wirds schon :beagolisc

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.