Exel4Macro



Excel-Version: 2000
nach unten

Betrifft: Exel4Macro
von: Heinz
Geschrieben am: 27.04.2002 - 13:19:46

Hallo,

folgendes Macro löscht alle Zeilen in Tabelle1, in denen in Spalte "Ort" der Name "Berlin" nicht vorkommt:

Sub DeleteRows()
Dim rngAll As Range, rngCriteria As Range
Application.ScreenUpdating = False
Set rngAll = Range("C1").CurrentRegion
rngAll.Name = "'" & ActiveSheet.Name & "'!Datenbank"
Set rngCriteria = rngAll.Resize(2, 1).Offset _
(0, rngAll.Columns.Count + 1)
With rngCriteria
.Name = "'" & ActiveSheet.Name & _
"'!Suchkriterien"
.Cells(1, 1).Value = "Ort"
.Cells(2, 1).Formula = "'<>Berlin"
ExecuteExcel4Macro "DATA.DELETE()"
.Clear
End With
Application.ScreenUpdating = True
End Sub
------------------------------------------------
Nun möchte ich aber, dass die gelöschten Zeilen in Tabelle 2 geschrieben werden. Wer kann helfen?

Danke
Heinz

nach oben   nach unten

Re: Exel4Macro
von: Otto
Geschrieben am: 27.04.2002 - 15:06:15

Hallo Heinz, hier habe ich dir ein neues Code dafür geschrieben: Sub DatenVerschieben() On Error Resume Next Dim ersteZeile As Integer Dim letzteZeile As Integer Dim EinfügeZeile As Integer EinfügeZeile = 2     'Die erste Zeile, wo die Zeilen aus der Quelltabelle eingefügt werden. ersteZeile = 2        'Die erste Zeile, ab der der Suchvorgang GESTARTET werden soll. letzteZeile = 17      'Die letzte Zeile, ab der der Suchvorgang GESTOPPT werden soll. For i = ersteZeile To letzteZeile If Cells(ersteZeile, 6).Value <> "Berlin" Then ActiveSheet.Rows(ersteZeile & ":" & ersteZeile).Copy Sheets("ZielTabelle").Cells(EinfügeZeile, 1).Insert shift:=xlDown ActiveSheet.Rows(ersteZeile & ":" & ersteZeile).Delete shift:=xlUp EinfügeZeile = EinfügeZeile + 1 Else: ersteZeile = ersteZeile + 1 End If Next End Sub Hoffe es hilft dir weiter. Gruß Otto

nach oben   nach unten

Re: Exel4Macro
von: Heinz
Geschrieben am: 27.04.2002 - 16:29:09

Hallo Otto, funktioniert leider nicht. Es wird keine 2. Tabelle geschrieben und auch nicht alle Zeilen die nicht Berlin enthalten gelöscht. Ergebnis Daten verschieben: Name Straße Ort Name17 Straße17 Ort17 Name18 Straße18 Ort18 Name19 Straße19 Ort19 Name20 Straße20 Ort20 Name21 Straße21 Berlin Name22 Straße22 Ort22 Name23 Straße23 Ort23 Name24 Straße24 Ort24 Name25 Straße25 Berlin Name26 Straße26 Ort26 Name27 Straße27 Ort27 Name28 Straße28 Ort28 Name29 Straße29 Berlin Ergebnis DeleteRows: Name Straße Ort Name3 Straße3 Berlin Name9 Straße9 Berlin Name21 Straße21 Berlin Name25 Straße25 Berlin Name29 Straße29 Berlin Gruß Heinz

nach oben   nach unten

Re: Exel4Macro
von: Otto
Geschrieben am: 27.04.2002 - 19:59:32

Hallo Heinz, bei mir funktioniert es einwandfrei. Kannst du mir vielleicht eine demo-Mappe zuschicken? Dann kann ich es direkt prüfen, woran es liegt. An forum.beitrag@arcor.de Gruß Otto

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Array direkt (ohne FOR) in Range schreiben"