Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1360to1364
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Delet Row funktioniert nicht

Delet Row funktioniert nicht
26.05.2014 19:17:30
Carmen
Hi,
ich habe eine Mac und habe in einer Spalte Daten, die sich aus irgendeinem Grund nicht absteigen oder aufsteigend oder älter als 4 Monate oder sonst was sortieren lassen, im Windows Rechner funktioniert das komischerweise.
Ich habe es auch schon mit sämtlichen Feldformatierungen versucht - ohne Erfolg.
Deswegen habe ich einen Arbeitskollegen gebeten mir ein Makros zu programmieren, das Reihen, die älter sind als x Monate (gibt man in einem extra Feld ein) geköscht werden.
Das dumme ist auf dem Windows Rechner läuft das ohne Probelem aber auf meinem Mac nicht.
Mein Kollege weiss auch keinen Rat und ich habe davon eh keine Ahnung.
Darum bitte ich hier um Hilfe.
Das bisherige Makros sieht so aus
Dim rowOut As Integer
Sub main()
Dim str$, strNew$, row%, i%
Dim nextLoop As Boolean
ScreenUpdating = False
nextLoop = False
row = 9 'start row
Range("D9:D20000").Select 'selected cells
rowOut = 2 'start output row
str = Range("D" & row).Value
strNew = str
Worksheets(2).UsedRange.ClearContents
Sheets("Sheet1").Activate
For Each cell In Selection.SpecialCells(xlCellTypeVisible)
strNew = cell.Value
If strNew = "" Then Exit For
Do While strNew ""
i = InStr(strNew, " ")
'last word in string
If i = 0 Then
Call writeData(strNew)
Exit Do
End If
Call writeData(Left(strNew, i - 1))
strNew = Right(strNew, Len(strNew) - i)
Trim (strNew)
Loop
Next cell
ScreenUpdating = True
Worksheets("Output").Activate
End Sub

Private Sub writeData(str As String)
Dim cell As Range
Dim val%
With Worksheets("Output")
Set cell = .Range("A:A").Find(str, lookat:=xlWhole)
If cell Is Nothing Then 'new word
.Range("A" & rowOut).Value = str
val = .Range("B" & rowOut).Value
val = val + 1
.Range("B" & rowOut).Value = CStr(val)
rowOut = rowOut + 1
Else 'existing word, inc count
val = .Range("B" & cell.row).Value
val = val + 1
.Range("B" & cell.row).Value = val
End If
End With
End Sub

Private Sub DeleteRows_Click()
Dim month%
ScreenUpdating = False
month = Range("I2").Value
For i = 9 To UsedRange.Rows.Count
If month 0 And DateDiff("m", Range("AO" & i).Value, Date) > month Then
Rows(i).EntireRow.Delete
End If
Next i
ScreenUpdating = True
End Sub

Private Sub Run_Click()
Call main
End Sub

Es gibt ncoh ein Zweites mit Wörter zählen, das funktionuert einwandfrei.
Ich habe auch noch die dazugehörige Excel Liste hochgeladen, um ggf rückfragen vorzubeugen, die ich wahrscheinlich eh nict beantworten könnte.
Diese findet ihr hier https://www.herber.de/bbs/user/90851.xlsm
Ich möchte mich schon im Voraus ganz herzlich bei meinem Retter bedanken.
Gerne kann ich mich auch mit einer Keywrodrecherche für eine Webseite bedanken,
Herzlichst Camren Lehner

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Delet Row funktioniert nicht
31.05.2014 10:50:17
Carmen
leider habe ich noch keine Antwort erhalten :-(

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige