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

Markierte Zeile kopieren

Markierte Zeile kopieren
05.05.2019 16:41:08
Benedikt
Guten Abend zusammen
Ich brauche Hilfe von Profis
Bis jetzt läuft ein Macro mit jeder Menge Select und Copy. in Excel 16 läuft das nicht mehr, d.h. es Zeit die Anwendung zu Überarbeiten. Wenn ich die Code sehe die Ihr schreibt ist mein gefringgel doch noch aus dem letzten Jahrhundert....
Mappe 1, Tabelle A: Die Zeile mit der Aktiven Zelle in Spalte A soll kopiert werden und in Tabelle B Zeile 2 eingefügt werden, d.h. Zeilen sollten nach unten verschoben werden. Weiter soll die selbe Zeile in eine Datei 2, Arbeitsblatt D ebenfalls in Zeile 2 eingefügt werden, wiederum inkl. nach unten verschieben der bestehenden Zellen.
In Mappe 1 soll die Markierte Zelle gelöscht werden und die Datei gespeichert geschlossen werden.
Wenn das ein Fall für Auftragsprogrammierung ist habe ich volles Verständnis
Vielen Dank für eure Hilfe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zeig mal Deinen Code (voller Select.;-) (owT)
05.05.2019 16:52:33
EtoPHG

AW: Zeig mal Deinen Code (voller Select.;-) (owT)
05.05.2019 17:46:25
Benedikt
Guten Abend EtoPHG
Mit rotem Kopf und einem Fragezeichen wie das unter 2010 noch läuft sende ich Dir den Code.
Ab 2013 explodiert vor lauter hin und her der Bildschirm..........
Sub Zusage() 'XLSM ready
PathAFR = GetSetting("W&L", "Optionen", "PathAngeboteFakturaRechnung", "") & "\" (wird nicht mehr gebraucht, nur noch direkter Pfad)
On Error GoTo Fehler
Cells(ActiveCell.Row, 1).Select
Rows(ActiveCell.Row).Select (Markierte Zelle ist Rot, soll aber wieder ohne Farbe sein)
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Application.ScreenUpdating = False
ActiveCell.Range("A1:I1").Select (ganze Zeile kopieren)
Selection.Copy
Sheets("Zusagen").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Sheets("Offertbearbeitung").Select
Application.CutCopyMode = False
Workbooks.Open Filename:="O:\Test 2020\Archiv\Offerten\" & "Faktura.xlsm"
Windows("ANGEBOTE.xlsm").Activate
Selection.Copy
Windows("Faktura.xlsm").Activate
Range("A2").Select
Selection.Insert Shift:=xlDown
ActiveWorkbook.Save
Windows("ANGEBOTE.xlsm").Activate
ActiveCell.EntireRow.Delete
Range("A1").Select
ActiveWorkbook.Save
ActiveWorkbook.Close SaveChanges:=True
Exit Sub
Fehler:
ErrorAngebote
End Sub


Anzeige
AW: Zeig mal Deinen Code (voller Select.;-) (owT)
05.05.2019 21:27:00
Luschi
Hallo Benedikt,
hier mal zum Vergleich:

Sub test1()
'Dein Code
Cells(ActiveCell.Row, 1).Select
Rows(ActiveCell.Row).Select
Debug.Print Selection.Address
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Sub test2()
'Luschis Code
With Cells(ActiveCell.Row, 1).EntireRow
Debug.Print .Address
With .Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End With
End Sub
Und die meiste Selektierere kannst kann man sich ersparen, wenn man mit Objektvariablen arbeitet:

Sub test3()
'Luschis Code
Dim wb As Workbook, rg As Range
Set rg = Cells(ActiveCell.Row, 1).EntireRow
With rg
Debug.Print .Address
With .Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End With
Set rg = Nothing
'wenn nur draus kopoert werden soll, schreibgeschützt öffnen
Set wb = Workbooks.Open(Filename:="O:\Test 2020\Archiv\Offerten\" & "Faktura.xlsm", ReadOnly:=True)
'...
Set wb = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Zeig mal Deinen Code (voller Select.;-) (owT)
05.05.2019 22:22:02
Benedikt
Guten Abend Luschi
Vielen Dank für deine Mühe
Ich brauche Hilfe von Profis
Bis jetzt läuft ein Macro mit jeder Menge Select und Copy. in Excel 16 läuft das nicht mehr, d.h. es Zeit die Anwendung zu Überarbeiten. Wenn ich die Code sehe die Ihr schreibt ist mein gefringgel doch noch aus dem letzten Jahrhundert....

Es ist mir wirklich nicht entgangen das mit den Objektvariablen sehr gute Resultate erzielt werden. Nur leider kann ich aus gesundheitlichen Gründen nicht mehr so tief in die Materie einsteigen weshalb am Schluss noch die Frage nach Auftragsprogrammierung steht.
Anzeige
AW: Zeig mal Deinen Code (voller Select.;-) (owT)
05.05.2019 23:49:40
Daniel
Hi
wenn etwas nicht funktioniert, solltest du als erstes die pauschale fehlerbehandlung "on error goto.." deaktivieren, dh einfach ein Hochkomma ' davorsetzen (dann ist die Zeile Kommentar und wird nicht ausgeführt).
nur wenn Excel bei einem Fehler in der Fehlerverursachenden Zeile stoppt, hast du ne reelle Chance, die Fehlerursache zu finden und zu beheben.
dann solltest du den Code mal Zeile für Zeile im Einzelstepmodus durchgehen, hierbei ist deine Selektiererei sogar vorteilhaft, weil du dann besser mitverfolgen kannst, was jede einzelne Codezeile macht. So solltest du dann den Fehler finden.
Gruß Daniel
Anzeige
AW: Zeig mal Deinen Code (voller Select.;-) (owT)
05.05.2019 23:49:41
Daniel
Hi
wenn etwas nicht funktioniert, solltest du als erstes die pauschale fehlerbehandlung "on error goto.." deaktivieren, dh einfach ein Hochkomma ' davorsetzen (dann ist die Zeile Kommentar und wird nicht ausgeführt).
nur wenn Excel bei einem Fehler in der Fehlerverursachenden Zeile stoppt, hast du ne reelle Chance, die Fehlerursache zu finden und zu beheben.
dann solltest du den Code mal Zeile für Zeile im Einzelstepmodus durchgehen, hierbei ist deine Selektiererei sogar vorteilhaft, weil du dann besser mitverfolgen kannst, was jede einzelne Codezeile macht. So solltest du dann den Fehler finden.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige