Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
372to376
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
372to376
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Leerzeilen nach Wertänderung HILFE

Leerzeilen nach Wertänderung HILFE
29.01.2004 10:38:27
Markus
Hallo Forum,
schlag mich hier mit Makros rum und verlier echt den Überblick -Gedankenblockade.
Habe Riesentabelle mit Positionsnummern in Spalte A, Blatt Nr in Spalte B usw.
Nach dem Wechsel der Pos.-Nr. sollen nun per Makro 2 Leerzeilen eingefügt werden (bisher manuell) um die Tabelle übersichtlicher zu gestalten.
Kann mir da jemand helfen?
Beispiel
IST:
Spalte A Spalte B
11000011 001
11000011 002
11000011 003
11000012 001
11000012 002
11000012 003
11000013 001
11000013 002
usw.
SOLL:
Spalte A Spalte B
11000011 001
11000011 002
11000011 003

11000012 001
11000012 002
11000012 003

11000013 001
11000013 002

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeilen nach Wertänderung HILFE
29.01.2004 10:50:01
Josef Ehrensberger
Hallo Markus!
Gehört in das Modul des Tabellenblattes.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
'Nur bei eingabe in Spalte "A"
On Error GoTo ERRORH
Application.EnableEvents = False
If Target <> Target.Offset(-1, 0) And Target <> "" Then
Target.Insert Shift:=xlDown
Target.Insert Shift:=xlDown
Target.Offset(1, 0).Activate
End If
End If
ERRORH:
Application.EnableEvents = True
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Grus Sepp
Anzeige
AW: Leerzeilen nach Wertänderung HILFE
29.01.2004 10:58:31
Markus
Josef, du bist mein HELD... vielen Dank, genau das was ich brauche.
Gruss
Markus
Danke für die Rückmeldung! o.T.
29.01.2004 10:59:52
Josef Ehrensberger
/
AW: Danke für die Rückmeldung! o.T.
29.01.2004 11:04:07
Markus
Josef, kann ich das ganze auch auf eine bestehende Tabelle anwenden, per Makro z.B.?
Wenn ich Daten in die betreffende Tabelle kopiere erfolgt keine Zeileneinfügung. Tipp?
Gruß Markus
Anderes Problem!
29.01.2004 13:00:04
Josef Ehrensberger
Hallo Markus!
Davon hast Du ja nichts erwähnt!
Nach dem kopieren der Daten tut's dieser Code.
Du musst evt. die Spalte anpassen, zurzeit "A".


Sub ZeilenEinfügen()
Dim wks As Worksheet
Dim lngZ As Long
Dim lngE As Long
Set wks = ActiveSheet
lngE = wks.Range("A65536").End(xlUp).Row
With Application
.EnableEvents = False
.ScreenUpdating = False
On Error GoTo ERRORH
With wks
For lngZ = lngE To Step -1
On Error GoTo ERRORH
If .Cells(lngZ, 1) <> .Cells(lngZ - 1, 1) And .Cells(lngZ, 1) <> "" Then
.Cells(lngZ, 1).Insert Shift:=xlDown
.Cells(lngZ, 1).Insert Shift:=xlDown
End If
Next
End With
ERRORH:
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Anderes Problem!
29.01.2004 13:39:17
Markus
Hi Sepp,
war ja auch andere Aufgabe *smile* -Danke für Starthilfe.. letzte Frage noch: Wie ändere ich den Bereich von "nur" Spalte A in von Spalte A bis Spalte M. Bin gerade erst am Anfang der VBA-Phase..*ggg*
Danke und Gruß
Markus
AW: Anderes Problem!
29.01.2004 15:07:11
Josef Ehrensberger
Hallo Markus!
Freut mich das es klappt.
Wie meinst Du "von Spalte A bis Spalte M" , ich dachte
die Werte sind in einer Spalte untereinander und nach
dieser Spalte sollen die Leerzeilen bestimmt und
eingefügt werden.
Gruß Sepp
AW: Anderes Problem!
29.01.2004 16:00:15
Markus
Sorry Seppl, wollte Dich eigentlich nicht den ganzen Tag beschäftigen *smile*, Danke.
Habe Beispiel hochgeladen, Soll- und Ist-Zustand... ist viell. aussagekräftiger.
Gruß Markus
https://www.herber.de/bbs/user/3294.xls
Anzeige
es werde licht!
29.01.2004 16:16:10
Josef Ehrensberger
Hallo Markus!
Jetzt hat's klick gemacht.


Sub ZeilenEinfügen()
Dim wks As Worksheet
Dim lngZ As Long
Dim lngE As Long
Set wks = ActiveSheet
lngE = wks.Range("A65536").End(xlUp).Row
With Application
.EnableEvents = False
.ScreenUpdating = False
On Error GoTo ERRORH
With wks
For lngZ = lngE To Step -1
On Error GoTo ERRORH
If .Cells(lngZ, 1) <> .Cells(lngZ - 1, 1) And .Cells(lngZ, 1) <> "" Then
.Cells(lngZ, 1).Columns("A:M").Insert Shift:=xlDown
.Cells(lngZ, 1).Columns("A:M").Insert Shift:=xlDown
'Spalten "A bis M" evtl. anpassen
End If
Next
End With
ERRORH:
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: es werde licht!
29.01.2004 17:14:19
Markus
.. yepp, auf einmal wurde es taghell hier *smile*
Sepp, vielen Dank für die Hilfe, die Abfrage funktioniert nun einwandfrei und im Sinne des Erfinders. Trink heut abend ´nen Apfelsaftschorle auf Dich...
Nochmals Danke für die Mühe..
Smile&bye
Markus
Danke und übertreib's nicht ;-) o.T.
29.01.2004 17:38:08
Josef Ehrensberger
/

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige