Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen einfügen, wenn...

Zeilen einfügen, wenn...
09.12.2005 17:35:33
TSchmidt
Hallo,
ich habe diese Frage bereits vor 2 Wochen gestellt und auch eine Lösung dazu erhalten, die mittlerweile aber nicht mehr funktioniert - warum auch immer.
Ich hab also begeigefügte Datei. In dieser Datei stehen Uhrzeiten von 08:00 bis 12:00 Uhr in Intervallen unterteilt (30 Minuten) und Zahlen, die besagen, was in diesen Intervallen in der Telefonanlage passiert ist. Ist in einem Intervall nichts passiert, wird das Intervall nicht mit exportiert. Ich benötige dieses aber. Ich bräuchte also einen VBA-Code, der mir die fehlenden Intervalle ergänzt und die leeren Zeilen mit Nullen füllt (da ja in dem Intervall nichts passiert ist).
Ich selber habe leider kaum VBA-Kentnisse, deshalb wäre ich wirklich sehr glücklich über Ihre Hilfe.
https://www.herber.de/bbs/user/29088.xls
Vielen Dank!
TSchmidt

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen einfügen, wenn...
09.12.2005 18:30:23
Reinhard
Hi T,
erzeuge strukturgleiche Tabelle, wo alle Zeilen von 8:00... bis 11:30 .... stehen, dann dort in D5: (ungetestet)

=wenn(istfehler(sverweis(sheets1!A5;Sheets1!$A$5:$R$100;spalte(),0));0;sverweis(sheets1!A5;Sheets1!$A$5:$R$100;spalte(),0))

und dann nach unten und rechts kopieren.
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
AW: Zeilen einfügen, wenn...
09.12.2005 19:13:07
Erich
Hallo Thorsten,
es wäre geschickt gewesen, den Thread zu deiner letzten Anfrage hier mitzuposten:
https://www.herber.de/forum/archiv/696to700/t698814.htm
Dass der dort von Frank gepostete Code nicht mehr läuft, liegt daran, dass in deiner neuen Tabelle in Spalte A keine Zeiten, sondern Texte stehen. Du kannst das daran erkennen, dass sie linksbündig dargestellt werden. Der folgende Code verträgt auch das.

Option Explicit
Sub sInsertRows2()
Dim lngRow As Long, intCol As Integer
Dim intStunde As Integer, intMinute As Integer
Dim dblIst As Double, dblSoll As Double
lngRow = 5
intStunde = 8
intMinute = 0
intCol = Cells(3, Columns.Count).End(xlToLeft).Column
Do
dblSoll = TimeSerial(intStunde, intMinute, 0)
If IsEmpty(Cells(lngRow, 1)) Then
dblIst = 0#
Else
dblIst = TimeValue("" & Cells(lngRow, 1).Text)
End If
If Abs(dblIst - dblSoll) > 0.000001 Then
Rows(lngRow).Insert
Cells(lngRow, 1) = Format(TimeSerial(intStunde, intMinute, 0), "hh:mm")
Cells(lngRow, 3) = Format(TimeSerial(intStunde, intMinute + 30, 0), "hh:mm")
Range(Cells(lngRow, 4), Cells(lngRow, intCol)) = 0
End If
intStunde = intStunde + IIf(intMinute = 0, 0, 1)
intMinute = IIf(intMinute = 0, 30, 0)
lngRow = lngRow + 1
Loop Until intStunde >= 18
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen einfügen, wenn...
10.12.2005 09:20:35
TSchmidt
Hallo Erich,
vielen Dank für die schnelle Hilfe. Es hat wunderbar geklappt.
Sorry, dass ich den alten Thread nicht mitgepostet habe. Beim nächsten Mal werde ich daran denken.
Danke nochmal!
Gruß,
TSchmidt

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige