Microsoft Excel

Herbers Excel/VBA-Archiv

UpDate von Dateien

Betrifft: UpDate von Dateien von: Torsten K.
Geschrieben am: 23.08.2004 16:11:50

Hallo beisammen,

mit der nachfolgend hochgeladenen Datei werden andere Dateien, die in den WS "FILES" bzw. "FILES2" enthalten sind, geöffnet, aktualsisert und wieder geschlossen. Soweit kein Problem. Nun habe ich, quasi als Protokoll, ein WS eingefügt, in dem die Daten des Aktualisierens (Datum, Uhrzetit, User und Gesamtbetrag der aktualisierten Werte) im Range ("B9:E9") bzw. mit jedem neuen Vorgang jeweils eine Zeile tiefer, eingetragen werden.
(...)
With Worksheets("UpDate")
irow = .Cells(Rows.Count, 8).End(xlUp).Row + 1
.Unprotect "maze"
.Cells(irow, 2).Value = Date
.Cells(irow, 3).Value = Time
.Cells(irow, 4).Value = Environ("Username")
.Cells(irow, 5).Value = BK
.Protect "maze"
End With
(...)
Das funktioniert in einer anderen UpDate-Datei einwandfrei. Nur in dieser Datei will Excel nicht wie ich will: Excel schreibt diese Daten in den Range("B2:E2") und überschreibt beim nächsten Vorgang diese Zeile, statt die nächste Zeile zu füllen.
Ich möchte also erreichen, daß beim Range("B9:E9") begonnen wird, und beim nächsten Vorgang die darunterliegende Zeile genutzt wird.
Kann mir jemand helfen? Ich versteh' nicht, daß Excel das in der einen Datei richtig macht und in der anderen nicht, obwohl ich die entsprechenden Code-Zeilen rüberkopiert habe.

https://www.herber.de/bbs/user/9975.xls

(Wahrscheinlich ein ganz dämlicher Fehler, ich sehe ihn nur mal wieder nicht; :-( )
Vielen Dank im voraus.

Gruß
Torsten

  


Betrifft: AW: UpDate von Dateien von: Andre
Geschrieben am: 23.08.2004 16:22:58

Hi Torsten,

"irow = .Cells(Rows.Count, 8).End(xlUp).Row + 1" ist wahrscheinlich die Ursache!

Die Zeile fragt die erste leere Zelle in Spalte H ab. Da du aber wahrscheinlich keine Daten in H:H hast, wird logischerweise die zweite Zeile genommen.

Weil jetzt Daten in B9:E9 stehen, aber immer noch nicht in H:H wird beim nächsten Durchgang wieder in B2:E2 geschrieben.

Du mußt den Bereich weiter einschränken oder Daten in Spalte H schreiben lassen!

mfg Andre


  


Betrifft: AW: UpDate von Dateien von: Torsten K.
Geschrieben am: 23.08.2004 16:35:11

Hallo Andre,

zunächst schönen Dank für Deine Rückmeldung.
Allerdings kann ich Deine Antwort überhaupt nicht einordnen: Mit

"irow = .Cells(Rows.Count, 8).End(xlUp).Row + 1"

müßte Excel meiner Meinung die Zeilen zählen, nämlich zunächst bis Zeile 8 und dann enstprechend iRow bei jedem Durchlauf eine Zeile hinzuzählen. In die Spalte "H" komme ich doch gar nicht erst. Wie schon gesagt, in einer anderen UpDate-Datei funktioniert das ganze einwandfrei. Es ist mir völlig schleierhaft, warum's hier nicht so läuft.
Hast Du noch eine andere Idee?

Gruß
Torsten


  


Betrifft: AW: UpDate von Dateien von: Dr.
Geschrieben am: 23.08.2004 16:38:36

Ganz einfach, Du verwechselst da den Spalten- und den Zeilenindex. ;-)


  


Betrifft: AW: UpDate von Dateien von: Torsten K.
Geschrieben am: 23.08.2004 16:45:22

Hallo Dr.,

auch Dir ein Dankeschön für's Einmischen. :-)
Hier ist der enstprechende Ausschnitt aus dem Code der anderen Datei, in der das ganze durchläuft:

With Worksheets("UpDate")
irow = .Cells(Rows.Count, 8).End(xlUp).Row + 1
.Unprotect "maze"
.Cells(irow, 2).Value = Date
.Cells(irow, 3).Value = Time
.Cells(irow, 4).Value = Environ("Username")
.Cells(irow, 5).Value = EI - Sheets("EST-Incentives").Range("L45").Value
.Cells(irow, 6).Value = EG - Sheets("EST-Gehälter").Range("L45").Value
.Cells(irow, 7).Value = BI - Sheets("BU-Incentives").Range("L45").Value
.Cells(irow, 8).Value = BG - Sheets("BU-Gehälter").Range("L45").Value
.Protect "maze"
End With

Ich seh' hier keinen Unterschied: Das Ergebnis wird im Range("B9:E9") bzw. jeweils eine Zeile tiefer ausgegeben.

Gruß
Torsten


  


Betrifft: AW: UpDate von Dateien von: Andre
Geschrieben am: 23.08.2004 16:50:12

Da ist sehr wohl ´n Unterschied!

Bei diesem Code läßt du in die 8te Spalte auch was reinschreiben! Folglich funktioniert hier der Vorlauf! Bei der anderen Spalte schreibst du nur bis Spalte 5, fragst aber 8 ab!

mfg Andre


  


Betrifft: AW: UpDate von Dateien von: Torsten K.
Geschrieben am: 23.08.2004 17:02:37

Hi Andre,

so langsam kommt Licht ins Dunkel :-))
Die bewußte VBA-Zeile habe ich nunmehr angepaßt:

irow = .Cells(Rows.Count, 2).End(xlUp).Row + 1

und siehe da: Es fuktioniert!
Vielen Dank für die Nachhilfe.

Gruß
Torsten


  


Betrifft: AW: UpDate von Dateien von: Andre
Geschrieben am: 23.08.2004 17:08:21

Kein Problem, danke für die Rückmeldung.

Gruß Andre


  


Betrifft: AW: UpDate von Dateien von: Andre
Geschrieben am: 23.08.2004 16:42:31

Sorry Torsten,

aber da liegst du leider falsch! Deine Zeile fragt die Daten der Spalte H ab und nicht die Zeilen.

Teste den Makroauszug doch einfach mal in einer neuen Arbeitsmappe und schreib mal was in H1. Du wirst merken, dass deine Daten jetzt in B2:E2 geschrieben werden!

mfg Andre


  


Betrifft: AW: erledigt - Danke für die Hilfe - Gruß Torsten von: Torsten K.
Geschrieben am: 23.08.2004 17:03:44




  


Betrifft: AW: erledigt - Danke für die Hilfe - Gruß Torsten von: Torsten K.
Geschrieben am: 23.08.2004 17:04:02




 

Beiträge aus den Excel-Beispielen zum Thema "UpDate von Dateien"