Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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

Makro:Zeile kopieren und darunter einfügen

Makro:Zeile kopieren und darunter einfügen
17.11.2018 18:21:25
Micha
Hallo Zusammen,
ich bin leider der Verzweiflung nah, weil ich bereits bei der einfachsten Programmierungsanwendung scheitere und ich seit einiger Zeit versuche meine Datei nach meinen Vorstellungen aufzubauen.
Ich hoffe Ihr könnt mir bei meinem Problem helfen.
Die Webseite erlaubt mir nicht die Datei hochzuladen. Ich kann euch die Datei persönlich zukommen lassen.
Wenn im Feld W=12 (Employer/Contractor) ausgewählt wird, möchte ich, dass eine neue Zeile automatisch darunter eingefügt wird. Es sollen ebenfalls die Drop-Down Listen, sowie alle anderen Formeln entsprechend der oberen Zeile übernommen werden. Darüber hinaus soll in der neuen Zeile automatisch im Feld E (Antwort) "Employers Antwort" stehen, falls im Feld W=12 in der oberen Zeile "Contractor" ausgewählt worden ist bzw. anders herum. Durch die Funktion versuche ich eine Übersicht über die Korrespondenz zwischen dem Employer und Contractor zu schaffen.
Ich habe bereits folgendes geschrieben:
Sub InsertRowIfHallo()
Dim i As Long, v As Long, strValue As String, lngRow As Long
Application.ScreenUpdating = False
intRow = Cells(Rows.Count, 4).End(xlDown).Row
For i = 1 To intRow
If Cells(i, 24).Value = "Employer" Then 'Ich wähle Employer bzw Contractor aus
Rows(r + 1).Insert Shift:=xlDown
Cells(i, 5).Value = "Employers Antwort" bzw "Contractor Antwort"
i = i + 1
Application.ScreenUpdating = True
End If
Next i
End Sub
Jedoch fügt es mir eine Zeile oberhalb der bestehenden Zelle ein und die Formeln werden ebenfalls nicht übernommen.
Vielen Dank für euren Support.
Viele Grüße
Micha

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
warum kannst du keine...
17.11.2018 18:46:10
Werner
Hallo Micha,
...Datei hochladen? Wenn du die Vorgaben beachtest, dann geht das.
1. Datei darf nicht größer als 300 kb sein.
2. Datei darf nicht zu tief in irgendwelchen Ordnen liegen, am besten legst du sie dir auf den Desktop.
3. Dateiname darf keine Leerzeichen und Umlaute enthalten. Benenn sie einfach mal in Test um.
Gruß Werner
AW: Hat er doch....
18.11.2018 15:07:20
Micha
https://www.herber.de/bbs/user/125465.xlsx
Hallo Zusammen,
ich hab mir nochmal meine Datei angeschaut und die entsprechenden Anpassungen durch geführt. Anbei die Datei.
Alle blau markierten Felder in der Datei sind Drop-Down Listen. Die grünen Felder werden automatisch ausgefüllt.
Du hast recht, ich hab mich geirrt. In der Zelle X=12 (statt W=12) wird der Employer bzw der Contractor automatisch durch die Kombination aus den Zellen F=12 und P=12 ausgewählt.
Bis zur Spalte X wird jede Zelle manuell ausgefüllt, anschließend werden die Zellen X, Y, Z und AA automatisch generiert. Nachdem die entsprechenden Spalten automatisch befüllt sind, soll dann entsprechend die nächste Zeile erstellt werden. Darüber hinaus soll in der neuen Zeile automatisch im Feld E (Antwort) "Employers Antwort" stehen, falls im Feld X=12 in der oberen Zeile "Contractor" ausgewählt worden ist bzw. anders herum.
VG
Anzeige
AW: Hat er doch....
19.11.2018 19:21:24
Piet
Hallo
mir ist gerade im Thread bei PHP im Code etwas aufgefallen. Leider ist er in der Beispieldatei nicht dabei, kann es nicht prüfen.
Schau bitte mal hier: - Rows(r + 1).Insert Shift:=xlDown - Da benutzt du "r" für die Zeilen, statt das "i" der For Next Schleife!!
Die Variable r wird aber in dem kleinen Code nirgendwo gesetzt!! Da kann was schiefgehen.
Den Rest habe ich mir noch nicht angesehen. Klappt es wenn du "r" in "i" umwandelst?
mfg Piet
Crossposting
17.11.2018 19:54:56
Hajo_Zi
Zu Crossposting lies diese Seite Hajo-Excel.de
Oder Zu Crossposting
Durch Crossposting werden mehrere Gruppen von Leuten mit dem gleichen Thema befasst, ohne dass sie voneinander wissen.
Naturgemäß laufen dann die Antworten, die im einen Forum "zu spät" gegeben wurden, ins Leere und bleiben ohne Resonanz.
Es reicht also, zunächst in einem Forum zu posten - wenn die Antworten dann unbefriedigend sein sollten, steht es einem anschließend immer noch offen, ein anderes Forum zu Rate zu ziehen.
Ich mache keine Werbung für andere Foren und verzichte darum auf den Link.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Makro:Zeile kopieren und darunter einfügen
17.11.2018 21:06:16
Piet
Hallo Micha
ohne die Datei zu sehen ein wichtiger Hinweis zu: - Zeilen Insert und Delete
Bitte NIEMALS mit einer For Next Schleife arbeiten die Vorwaerts zaehlt, von 1 bis LastZell!!
Beim einfügen veraendert sich staendig die Zeilenzahl der Tabelle, der Wert intRow bleibt aber konstant!!!
Probier die For Next Schleife bitte mal Rückwaerts aus, indem du von der letzten Zelle nach oben gehst.
For i = intRow to 1 Step -1 - dieses Step-1 darf nicht fehlen, dadurch steppt Excel rückwaerts zur Zeile 1!!
Das dabei die Zeilen nach unten verschoben werden spielt jetzt keine Rolle mehr. Excel geht ja zur Zahl 1!
Ich bin gespannt ob dir mein Tipp weiterhift ....?
mfg Piet
Anzeige
AW: Makro:Zeile kopieren und darunter einfügen
18.11.2018 15:10:06
Micha
https://www.herber.de/bbs/user/125465.xlsx
Hallo Zusammen,
ich hab mir nochmal meine Datei angeschaut und die entsprechenden Anpassungen durch geführt. Anbei die Datei.
Alle blau markierten Felder in der Datei sind Drop-Down Listen. Die grünen Felder werden automatisch ausgefüllt.
Du hast recht, ich hab mich geirrt. In der Zelle X=12 (statt W=12) wird der Employer bzw der Contractor automatisch durch die Kombination aus den Zellen F=12 und P=12 ausgewählt.
Bis zur Spalte X wird jede Zelle manuell ausgefüllt, anschließend werden die Zellen X, Y, Z und AA automatisch generiert. Nachdem die entsprechenden Spalten automatisch befüllt sind, soll dann entsprechend die nächste Zeile erstellt werden. Darüber hinaus soll in der neuen Zeile automatisch im Feld E (Antwort) "Employers Antwort" stehen, falls im Feld X=12 in der oberen Zeile "Contractor" ausgewählt worden ist bzw. anders herum.
VG
Anzeige
AW: Makro:Zeile kopieren und darunter einfügen
20.11.2018 09:49:47
Piet
Hallo Micha
ich habe mir den PHP Code noch mal genau angesehen und mir sind einige Fehler aufgefallen. Bitte korrigieren.
Anbei ein geanderter Code vcon mir, den du ggf. selbst anpassen must. Das sollte nicht schwer sein!
Fehler: '** intRow = Cells(Rows.Count, 4).End(xlDown).Row **!! - Hier suchst du vom Tabellen Ende Abwaerts nach dem Ende!!
Korrekt ist: - intRow = Cells(Rows.Count, 4).End(xlUp).Row
intRow ist nicht deklariert, dafür lngRow as Variable
For next beginnt bei dir mit Zeile 1 statt Zeile 12! - Und hier Rückwaerts suchen!!
Ich hoffe meine Tipps und mein Code helfen dir das Problem zu lösen. Ich warte mal ab ...
mfg Piet
Sub Insert_Test()
Dim i As Long, v As Long, strValue As String, intRow As Long
Application.ScreenUpdating = False
'** intRow = Cells(Rows.Count, 4).End(xlDown).Row **!!
intRow = Cells(Rows.Count, 4).End(xlUp).Row
'For i = 12 To intRow
For i = intRow To 12 Step -1
'Ich wähle Employer bzw Contractor aus
If Cells(i, 24).Value = "Employers" Then
Rows(i + 1).Insert Shift:=xlDown
Cells(i, 6).Value = "Employers Antwort" ' bzw "Contractor Antwort"
i = i + 1
Application.ScreenUpdating = True
End If
Next i
End Sub

Anzeige
AW: Makro:Zeile kopieren und darunter einfügen
20.11.2018 09:54:30
Piet
Nachtrag
der intRow Fehler fiel mir nur auf weil das Programm bei mir unendlişch lange lief. Das konnte nicht stimmen!!
Ich püfte den intRow Wert mit einer MsgBox = 1.048.576 - Erst dann entdeckte ich xlDown statt xlUp
Excel hat auch mit Aufmerksamkeit beim Testen zu tun.
mfg Piet

358 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige