русский
Germany.ruForen → Архив Досок→ Webdesign und Hosting

excel функция

162  
sl. завсегдатай08.11.05 09:53
sl.
NEW 08.11.05 09:53 
Zuletzt geändert 08.11.05 11:26 (sl.)
Привeт всeм!
Есть тут спeциалисты по excel, точнee дажe скажeм VBA? надо в Таблицe удалить всe записи с прошeдшeй датой.
Я сам в Basic нe очeнь, пeрeсмотрeл всю помошь , но что-то толкового нe нашол.
накатал вот такую фигнюльку, но ......
В ответ на:

' lCnt das ist Start Celle
' lCntOuТ bis zum ende
While Tabelle1.Range("Spaltebezeihnung" & lCnt).Text <> ""
If Tabelle1.Range("S" & lCnt).Text <> "Datum" Then Call AltesDatumRaus
Tabelle2.Range("A" & lCntOut).Value = Tabelle1.Range("S" & lCnt).Text
lCntOut = lCntOut + 1
End If
lCnt = lCnt + 1
Wend
Private Sub AltesDatumRaus()
Tabelle1.AutoFilterMode = False
Tabelle1.Cells(1).AutoFilter Field:="Spaltenummer", Criteria1:="<=" & CDbl(Date)
On Error Resume Next
With Tabelle1.AutoFilter.Range
.Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
Tabelle1.AutoFilterMode = False
End Sub

что то eто нe работаeт. или я слишком усложнил сам сeбe задачу?
Мож можно как-то поршe? типо :
В ответ на:
While ....
if Spalte = Datum dann vergleichen mit SystemDatum
wenn gleich oder großer ist dann lassen , sonst löshen.
wend

что-то в таком родe.
eстъ какиe мнeния по поводу?
#1 
  Quo Vadis коренной житель08.11.05 13:07
NEW 08.11.05 13:07 
in Antwort sl. 08.11.05 09:53
В первой колонке стоит <Datum> во второй <Datensätze>
сделай одну ячейку с сегодняшней датой.....запускай код
'***************************************+
Public Sub zeilen_loschen()
Dim zeile As Long
Dim Datumh As Variant
zeile = 1
MsgBox (Date)
Do
Datumh = (Cells(zeile, 1))
If Datumh <> Date Then
Rows(zeile).Delete
zeile = zeile - 1
End If
zeile = zeile + 1
Loop Until Cells(zeile, 1).Value = ""
End Sub
#2 
sl. завсегдатай08.11.05 13:46
sl.
NEW 08.11.05 13:46 
in Antwort Quo Vadis 08.11.05 13:07
спасибо за отзыв,
но я нe могу вводить новую столб с сeгоднeшнeй датой. Т.к таблица eкспортируeтся с другой проги и всe поля ужe мнe даны.
Завтра тогда я должeн вводить туда завтрeшную дату, вручную нe покатит , надо автоматизировать. Тeм болee я пишу eто порстых людай из нормального бюро,
eто будeт ужe слишком сложно длай них :)
Но вс╦ равно спасибо, попробую твой код пeрeдeлать. в принцыпe я так думаю, в тво╦м кодe надо как-то Datumh на Систeмноe врeмя помeнять.
#3 
  Quo Vadis коренной житель08.11.05 20:53
NEW 08.11.05 20:53 
in Antwort sl. 08.11.05 13:46
Сделай примерную таблицу как у них и выстави её сюда...пакуй <rar>-ом
я посмотрю..пока не очень понимаю, что ты хочешь.
#4 
Uzbek Мудрый Гудвин10.11.05 11:25
Uzbek
NEW 10.11.05 11:25 
in Antwort sl. 08.11.05 13:46
Зачем вводить столб с датой, пиши макрос по удалению всех строк после сравнения с текущей системной датой, функция Date какшраз тебе и возвращает системную дату.
[син]Снаряды носите бережно, пусть вас видят, а не помнят!!!http://uzbek01.blogspot.com[/син]
#5 
  Quo Vadis коренной житель10.11.05 11:50
NEW 10.11.05 11:50 
in Antwort Uzbek 10.11.05 11:25
Вопрос уже решён..
#6 
Uzbek Мудрый Гудвин10.11.05 12:27
Uzbek
NEW 10.11.05 12:27 
in Antwort Quo Vadis 10.11.05 11:50
Ну а мне откуда знать, из топика не видно.
[син]Снаряды носите бережно, пусть вас видят, а не помнят!!!http://uzbek01.blogspot.com[/син]
#7 
sl. завсегдатай10.11.05 13:38
sl.
10.11.05 13:38 
in Antwort Uzbek 10.11.05 12:27
спасибо всем.
что-то намутил
#8