Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro läuft nicht richtig

Makro läuft nicht richtig
07.09.2007 20:39:21
mike49
Hallo zusammen,
habe da ein kleines Löschen-Makro gebastelt, das nicht so läuft wie ich will.

Sub Löschen()
For Each sh In Sheets(Array("Seite 3", "Seite 4"))
With sh
.Unprotect
.Range("B5:E58").ClearContents
.Protect
End With
Next
With Sheets("Seite 1")
.Unprotect
.[J21:J29].Value = .[R21:R29].Value
.[R21:R24].Value = 0
.[R25].FormulaLocal = "=Wenn('Seite 2'!J18=0;0;'Seite 2'!J19)"
.[R26:R29].Value = 0
.Protect
End With
End Sub


Es sollen quasi die Werte aus Bereich R21:R29 nach J21:J29 übertragen werden. Alle Werte im Bereich R21:R24 und R25:R29 sollen dann auf 0 gesetzt werden. In R25 soll die im Makro genannte Formel eingetragen werden. Leider wird der durch die Formel gebildete Wert in R25 nicht nach J25 rüberkopiert.
Was habe ich falsch gemacht?
Gruß
mike49

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro läuft nicht richtig
07.09.2007 20:59:00
BorisHendrik
hallo mike,
ich würde sagen, der befehl zum kopieren von r25 nach j25 fehlt. Nach dieser Zeile
.[R25].FormulaLocal = "=Wenn('Seite 2'!J18=0;0;'Seite 2'!J19)"
benötigts du noch
.[R25].copy
.[J25].pastespecial paste:=xlvalues
dann sollte es eigentlich gehen
Gruss
Boris

AW: Makro läuft nicht richtig
07.09.2007 21:28:18
mike49
Hallo Boris,
funktioniert noch nicht. Es kommt die Meldung, dass für den Befehl alle Zellen dieselbe Größe haben müssen.
Ich hätte erwähnen müssen, dass jeweils die Zellen in den Spalten R:S sowie J:K verbunden sind. Angezeigt wird aber nur z.B. J25 bzw. R25.
Gruß
mike49

Anzeige
AW: Makro läuft nicht richtig
07.09.2007 21:03:00
Jan
Hi,
durch welche Anweisung in deinem Code soll denn deiner Meinung nach der Wert kopiert werden?
mfg Jan

AW: Makro läuft nicht richtig
07.09.2007 21:18:33
mike49
Hallo Jan,
durch ".[J21:J29].Value = .[R21:R29].Value". Es werden ja alle Werte aus [R21:R29] rüberkopiert, nur nicht der Wert in R25.
Gruß
mike49

AW: Makro läuft nicht richtig
07.09.2007 21:36:00
BorisHendrik
Wenn der durch die Formel gebildete Wert kopiert werden soll, musst du das Kopieren nach dem Erzeugen der Formel vornehmen, nicht davor! Oder?
Boris

AW: Makro läuft nicht richtig
07.09.2007 21:55:33
mike49
Hallo Boris,
will's nochmals anders erklären.
In der verbundenen Zelle R25 (=R25:S25) steht bereits diese Formel. Nach dem Übertragen des durch die Formel gebildeten Wertes soll diese Formel wieder reingeschrieben werden. Als sichtbarer Wert soll dort dann 0,00 stehen.
Alle Werte in R21:R24 und R26:R29 sind nicht durch Formel gebildet. Diese werden nach J21:J24 und J26:J29 richtig übertragen. Nur eben der Wert aus R25 nicht nach J25 (=J25:K25).
Gruß
Mike49

Anzeige
AW: Makro läuft nicht richtig
07.09.2007 22:13:43
Jan
Hi,
bei verbundenen Zellen hat nur die obere linke Zelle Daten, alle anderen verlieren
die Werte bzw. Formeln.
Verbundene Zellen sind nur hinderlich.
mfg Jan

AW: Makro läuft nicht richtig
07.09.2007 22:47:24
mike49
Danke Jan für deinen Hinweis. Bringt mich aber nicht weiter. Die Zellen müssen wegen der Größe verbunden bleiben.
Ich frage mich nur, warum es im Prinzip funktioniert, nur eben bei R25 nicht.
Gruß
mike49

AW: Makro läuft nicht richtig
08.09.2007 11:13:00
Jens
Hi mike

Die Zellen müssen wegen der Größe verbunden bleiben.


Was ist denn so wichtig an der Zellgröße?
Gruß aus dem Sauerland
Jens

Anzeige
AW: Makro läuft nicht richtig
08.09.2007 18:58:34
mike49
Hallo Jens,
bin erst jetzt wieder zurück. Ich habe die verbundenen Zellen gelöst und das Makro neu gemacht.
Es funktioniert aber . . .
der durch die Formel gebildete Wert in P25 wird nicht nicht nach J25 übernommen. Es bleibt der vorhandene Wert in J25 stehen. Weiß nicht, woran es liegt.

Sub Löschen()
For Each sh In Sheets(Array("Seite 3", "Seite 4"))
With sh
.Unprotect
.Range("B5:E58").ClearContents
.Protect
End With
Next
With Sheets("Seite 1")
.Unprotect
.[J21:J29].Value = .[P21:P29].Value
.[J31].Value = .[P31].Value
.[P25].FormulaLocal = "=WENN('Seite 2'!J18=0;0;'Seite 2'!J19)"
.[P21:P24].Value = 0
.[P26:P29].Value = 0
.[P31].Value = 0
.Protect
End With
End Sub


Hast du noch eine Idee?
Gruß
mike49

Anzeige
AW: Makro läuft nicht richtig
08.09.2007 19:20:48
Dan
Hi,
deinem Code ist nicht zu entnehmen, worher J25 einen Wert bekommen sollte.
mfg Dan

AW: Makro läuft nicht richtig
08.09.2007 20:01:24
mike49
Hallo Dan,
ich dachte
.[J21:J29].Value = .[P21:P29].Value
beinhaltet, dass der Wert aus P25 nach J25 übertragen wird.
Liege ich da falsch? Wenn ja, wie müsste man das Makro ändern?
Gruß
mike49

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige