Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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
Formel kopieren mit VBA
jo_cindy
HAllo, habe einen Fehler in meinem Makro und weiß nicht, wo er steckt. Ich möchte gerne in Spalte AC, AD, AE, AF und AG das Format auf Euro ändern. Es soll jeweils in der zweiten Zeile begonnen werden und bis zum Ende der Tabelle (Zeilenanzahl ist individuell) kopiert werden. Die enthaltenen Formel dürfen dabei nicht überschrieben werden. Ich habe folgendes eingegeben:
Range("AC2").Select
With Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)).Offset
Selection.NumberFormat = "#,##0.00 $"
Ich erreiche damit aber nur die Formatierung Euro in AC2 und nicht bis zum Ende der Datentabelle. Was fehlt?
AW: Formel kopieren mit VBA
27.10.2009 21:53:57
hary
hi
versuch mal das. Bereich von AC2 bis AG(letzte belegte zelle),evtl. aendern.

With Range("AC2:AG" & Cells(Rows.Count, 33).End(xlUp)) 'bis letzte belegte zelle in Spalte AG
.NumberFormat = "#,##0.00 €"
End With

gruss hary
da fehlt aber noch die Zeile ...
27.10.2009 22:16:57
Christian
... oder wie läuft das bei 2007, Hary?
also:
Range("AC2:AG" & Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "#,##0.00 €"
Außerdem würde ich vollständig referenzieren und auch die Adressen nicht mit Strings zusammensetzen sondern zB mit Resize arbeiten, aber das ist ein anderes Thema.
Warten wir erst mal auf 'ne Rückmeldung von Jo.
Grüße
Christian
Anzeige
AW: da fehlt aber noch die Zeile ...
27.10.2009 22:21:32
jo_cindy
Hallo Christian und Hary,
habe bei "AC2:AG die 2 ergänzt. Jetzt bekomme ich keinen Fehler mehr, aber auch keine Formatierung auf Euro?
Gruß, Jo
da hab ich den neuen Fehler mit dem alten ersetzt
27.10.2009 22:41:16
Christian
Hallo Jo,
Hary hatte schon die richtige Idee, nämlich den Bezug auf Spalte 33 (=AG) zu setzen.
Er hatte aber hier einen Flüchtigkeitsfehler - da End(xlUp) statt End(xlUp).Row
Ich hab das dan korrigiert, hab aber wieder Spalte 1 (=A) eingesetzt (zwei mal "falsch" gibt nicht immer "richtig").
also probier mal:
Range("AC2:AG" & Cells(Rows.Count, 33).End(xlUp).Row).NumberFormat = "#,##0.00 €"
So wird bis zum letzten Eintrag (Zeile) aus Spalte AG das Format gesetzt.
Sollten in Spalte AC - AF mehr Zeilen gefüllt sein als in AG, dann funzt das allerdings immer noch nicht richtig. Und wenn du deine Tabelle zB mit Autofilter gefiltert hast, das bringt End(xlUp).Row auch nicht das erwartete Ergebnis - zumindest bei XL2003. Dann brauchst du andere Workarrounds.
Gruß
Christian
Anzeige
AW:nee,nee.....
27.10.2009 22:47:18
hary
Hi Christian
...wo ich Deine Antwort gelesen habe, habe ich wirklich gezweifelt. Aber es geht wirklich so!!!!!
Sollte das ein 2007'ner Wunder sein? Verstehen tu ich's auch nicht. Der Code steht wirklich so drin.
Gruss hary
AW: da fehlt aber noch die Zeile ...
27.10.2009 23:44:08
jo_cindy
Hi Christian,
habe eine neue Frage ins Forum gestellt, kannst du mir da vielleicht auch helfen? Bitte
AW: Formel kopieren mit VBA
27.10.2009 22:17:52
jo_cindy
Hallo Hary,
ich bekomme einen Laufzeitfehler: 1004 Die Methode Range für das Objekt _Global ist fehlgeschlagen
Gruß, Jo
AW: Formel kopieren mit VBA
27.10.2009 22:40:30
hary
hi
hier mal die 2007 mappe Bereich ist umrahmt die zZ. umformatiert wird.
https://www.herber.de/bbs/user/65383.xlsm
Gruss Hary
Anzeige
AW: Formel kopieren mit VBA
27.10.2009 22:46:30
jo_cindy
Hi, habe Probleme mit gezippten Dateien. Habe Progr. 7-zip. In den expandierten Ordnern finde ich keine Excelsheet xls?
AW: Formel kopieren mit VBA
27.10.2009 22:49:23
hary
Hi
ist doch nicht gezippt! Ist eine xlsm Datei. Oder Hast Du garkein 2007?
gruss hary
ok, und jetzt schreib mal in ...
27.10.2009 22:50:36
Christian
...AG12 einen Text.
mit Cells(Rows.Count, 33).End(xlUp) bekommst du den Wert der letzten Zelle, aber nicht die Zeilennummer der letzten Zelle, da Cells(x, y) als Cells8x,y).Value interpretiert wird.
korrigiere mich bitte, sollte ich da bei 2007 falsch liegen.
Grüße
Christian
AW: ok...
27.10.2009 23:03:52
hary
Hi Christian
ja, hast recht. Mit Zahlen geht's(weil Excel ja eine Zahl hat), mit Text kommt Fehlermeldung.Waren zwei Unbekannte die ein Ergebniss brachten.
also muss zwischen den beiden letzten .Row
Gruss hary
Anzeige
dann ist meine XLS-Welt wieder...
27.10.2009 23:10:49
Christian
eine Kugel...
Gruß
Christian
AW: ok...
27.10.2009 23:11:15
jo_cindy
Hi,
ich habe Excel 2007. Wenn ich auf deinen Link gehe, dann bekomme ich sofort ein Popup 65383.zip mit der Frage nach Öffnen oder speichern?
Ich hab mal die Datei hochgeladen und die Formatierung entfernt, da bei mir fehlerhaft. Soll als letzter Befehl ausgeführt werden.
Datei kommt gleich...
AW: Formel kopieren mit VBA
27.10.2009 23:12:54
jo_cindy
Hier die Datei

Die Datei https://www.herber.de/bbs/user/65384.xls wurde aus Datenschutzgründen gelöscht


AW: Formel kopieren mit VBA
27.10.2009 23:19:25
Christian
Hi Jo,
ersetze den Code in Mudul1 mit:

Option Explicit
Sub n()
Range("AC2:AG" & Cells(Rows.Count, 33).End(xlUp).Row).NumberFormat = "#,##0.00 €"
End Sub
Gruß
Christian
Anzeige
AW: Formel kopieren mit VBA
27.10.2009 23:24:34
jo_cindy
Hi Christian,
hat geklappt, weiss zwar nicht was ich vorher falsch gemacht habe, aber ist ja auch egal. Ihr habt mich gerettet- DANKE!!!!!!!
Gruß, Jo
AW: mappe
27.10.2009 23:26:46
jo_cindy
Hat geklappt, DANKE auch dir Hary. Schade, dass ich nicht euer Wissen habe
AW: Formel kopieren mit VBA
27.10.2009 23:43:15
jo_cindy
Hallo Hary,
ich habe einen neuen Beitrag geschrieben, kannst du mir da auch helfen? Bitte

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige