Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1160to1164
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

Offset unter XL 2003 und XL 2007

Offset unter XL 2003 und XL 2007
Bruno
Guten Tag zusammen
Mittels der Methode Offset übertragen wir im Netzwerk aus mehreren Arbeitsstationen seit Jahren problemlos Bestelldaten mittels einer Eingabemaske in eine unter Excel 2003 als Liste definierte Tabelle. Nachstehend der entsprechende Code:
Range("A65536").End(xlUp).Offset(0, 1).Select
ActiveCell.EntireRow.Select
Selection.Insert Shift:=xlDown
With Frm
ActiveCell.Value = .TextBox_BestNr.Value
ActiveCell.Offset(0, 1).Value = .TextBox_KundenNr.Value
ActiveCell.Offset(0, 2).Value = .TextBox_Item.Value
etc. etc.
End with


Beim Ersatz einer Arbeitsstation wurde diese neu mit Excel 2007 ausgerüstet. Nun werden Neueingaben aus dieser Arbeitsstation (XL 2007) nicht mehr am Tabellenende, sondern vor der letzten Zeile eingefügt. Letztere wird also immer vor jeder Neueingabe hergeschoben. Kennt jemand dieses Verhalten? Interpretiert XL 2007 die Methode Offset anders als XL 2003? Kann das Problem gelöst werden, oder sind Parallel-Eingaben aus den beiden Excel-Versionen mit dem selben Offset-Code nicht möglich?
Für Tipps zum Voraus besten Dank!
Bruno

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Offset unter XL 2003 und XL 2007
07.06.2010 10:24:46
{Boris}
Hi Bruno,
wozu eigentlich der ganze Select / Insert-Zauber?
Du ermittelst die letzte beschrieben Zeile, wanderst 1 runter und fügst dann noch ne Zeile ein. Hm...
Sub Besser_so()
Dim lngRow As Long
lngRow = Range("A65536").End(xlUp).Row + 1
With Frm
Cells(lngRow, 1).Value = .TextBox_BestNr.Value
Cells(lngRow, 2).Value = .TextBox_KundenNr.Value
Cells(lngRow, 3).Value = .TextBox_Item.Value
'etc. etc.
End With
End Sub

Grüße Boris
AW: Offset unter XL 2003 und XL 2007
07.06.2010 10:28:04
mumpel
Hallo!
Tipp: Damit die Zeile auch in allen Excelversionen läuft musst Du auch die Zeilenanzahl anpassen, da Excel 2007 mehr als 65536 Zeilen beherrscht (zumindest die neuen Dateiformate).
lngRow = Range("A" & Rows.Count).End(xlUp).Row + 1color>
Gruß, René
Anzeige
mit dem Code ....
07.06.2010 18:11:19
Rudi
Hallo,
... wird auch unter 2003 die letzte Zeile immer nach unten geschoben.
Range("A65536").End(xlUp).Offset(0, 1).Select

Selected schließlich Spalte B der letzten Zeile und nicht die erste freie Zelle in A.
Gruß
Rudi
AW: Danke, Differenz bleibt
07.06.2010 22:16:46
Bruno
Mit der Codeanpassung:
Cells(Rows.Count, "A").End(xlUp).Offset(0, 0).Select
ActiveCell.EntireRow.Select
Selection.Insert Shift:=xlDown

unterbleibt das permamente nachschieben der letzten Zeile unter XL 2007 wenigstens, Neueinträge werden aber noch immer in die zweitletzte Zeile übertragen. Dies ist zwar nicht perfekt, aber wir können damit leben. Unter XL 2003 läuft es wie bisher wunschgemäss.
Für Boris: Mit den Codezeilen 2 und 3 werden die in der letzten Bestellzeile zahlreich bestehenden Formeln und Formate in die neu zu erstellende Bestelldatenzeile übernommen.
Besten Dank für eure Tipps und Gruss, Bruno
Anzeige
Formeln "weiterschieben"
07.06.2010 23:25:45
{Boris}
Hi Bruno,
Für Boris: Mit den Codezeilen 2 und 3 werden die in der letzten Bestellzeile zahlreich bestehenden Formeln und Formate in die neu zu erstellende Bestelldatenzeile übernommen.
Auch das ist überflüssig, wenn Du die "Bestelldatenzeile" oberhalb der Datensätze platzierst.
Grüße Boris

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige