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

Problem mit ActiveCell.Offset

Problem mit ActiveCell.Offset
13.12.2008 19:06:04
Markus
Hallo zusammen,
ich habe ein Problem mit ActiveCell.Offset. Da es unter einer anderen Überschrift fast keine Resnonanz gab, stelle ich die Frage nun geändert neu (so wird es zumindest empfohlen, bevor einer meckert :-) ).
Auf der Arbeit lese ich Hostanwendungen aus, und trage die Daten in bestimmte Spalten, zum Schluss erfasse ich dann noch das Datum und Zeit, wann die Daten ausgelesen wurden (ein kleiner Auszug):
ActiveCell.Offset(0, 5).Value = Format(Date)
ActiveCell.Offset(0, 6).Value = Format(Time)
Wenn ich aber nun Spalten einfüge oder lösche, so muss immer die VBA-Zeilen ebenfalls ändern. Es wurde mir der Tipp gegeben, den Spalten Namen zu geben. Das habe ich gemacht, aber ich weiß trotzdem nicht, wie der Code von ActiveCell.Offset(0, ?).Value aussehen muss.
In meiner Tabelle habe ich jetzt der Spalte F den Namen Zeit und der Spalte G den Namen Time gegeben.
Wäre toll, wenn mir jemand von Euch in meiner Tabelle die Änderung an ActiveCell.Offset(0, ?).Value vornehmen könnte. Ich verstehe nämlich nur Bahnhof.
https://www.herber.de/bbs/user/57603.xls
Vielen Dank!
Viele Grüße
Markus

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

Betreff
Datum
Anwender
Anzeige
AW: Problem mit ActiveCell.Offset
13.12.2008 19:22:00
Hajo_Zi
Hallo Markus,

Option Explicit
Sub Markus()
Dim Razelle As Range
Dim Loletzte As Long
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Set Razelle = Range("A2:A" & Loletzte).Find("", Range("A" & Loletzte), , xlWhole, , xlNext)
If Razelle Is Nothing Then Set Razelle = Range("A" & Loletzte)
Range(Cells(2, 6), Cells(Razelle.Row, 6)) = Date
Range(Cells(2, 7), Cells(Razelle.Row, 7)) = Time
Set Razelle = Nothing
End Sub


Gruß Hajo

Anzeige
AW: Problem mit ActiveCell.Offset
13.12.2008 19:28:00
robert
hi,
Namen sind nur die spaltenzahl, kein bereich
z.B.Name Zeit=5
ActiveCell.Offset(0, Zeit).Value = Format(Date)
gruß
robert
AW: Problem mit ActiveCell.Offset
13.12.2008 19:57:00
Markus
Hallo Robert, hallo Hajo,
danke für die Hilfe!
Das bedeutet aber wenn ich Dir, Robert, folge, dass ich die VBA-Zeilen doch anpassen muss, richtig?
Vorteil wäre aber, dass ich die Zeilenanpassung am Anfang des Makros machen könnte (da könnte ich die ja alle übersichtlich unteinander schreiben) und nicht erst im Verlauf des Makros, wo dann leicht mal eine Zeile übersehen wird.
Korrekt?
Viele Grüße
Markus
AW: Problem mit ActiveCell.Offset
13.12.2008 20:06:00
Hajo_Zi
Hallo Markus,
wenn ich Deine Aufgabe richtig interpretiert habe dazu hast Du ja nichts geschrieben, würde bei meiner Variante die Zeit von Vorteil sein. Bei 65536 ausgefüllten Zeilen dauert dies unter 1 Sekunde, da ist kein zwischenspeichern notwendig. Hier noch ein wenig überarbeitet.

Option Explicit
Sub Markus()
Dim Razelle As Range
Dim Loletzte As Long
Application.ScreenUpdating = False
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Set Razelle = Range("A2:A" & Loletzte).Find("", Range("A" & Loletzte), , xlWhole, , xlNext)
If Razelle Is Nothing Then Set Razelle = Range("A" & Loletzte)
Range(Cells(2, 6), Cells(Razelle.Row, 6)) = Date
Range(Cells(2, 7), Cells(Razelle.Row, 7)) = Time
Set Razelle = Nothing
Application.ScreenUpdating = True
End Sub


Gruß Hajo

Anzeige
AW: Problem mit ActiveCell.Offset
14.12.2008 17:42:42
Markus
Hallo Hajo,
ich wollte Deinen Vorschlag nicht schmälern und Du hast auch recht, dass es schneller ist. Aber, ich lese aus den Hostanwendungen ca. 40 Daten aus (also 40 Spalten + Spalte Date und Time). Wenn ich also irgendwo eine weitere Spalte einfüge, dann muss ich ja fast alle VBA-Zeilen hinsichtlich ActiveCell.Offset ändern. Und aus diesem Grund habe ich mich für den Vorschlag von Robert entschieden.
Viele Grüße und schönen Abend
Markus

39 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige