Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Range nicht von Zeile abhängig
#1
Hallo zusammen,

Ich bin neu hier im Forum und habe leider nichts zu meinem Problem finden können. Sollte ich etwas übersehen haben, bitte darauf hinweisen.

Ich habe eine Liste mit Preisen für bestimme Produkte. Diese Spalte L ist in 2 Kategorien unterteilt.
Dann lasse ich mittels Makro Formeln auf die Spalte L in Spalte M anwenden. Daraufhin wird der Wert von M in N kopiert.

Das Problem, das ich nun habe ist folgendes:
Für die beiden Kategorien werden unterschiedliche Formeln angewandt:
ActiveCell.FormulaR1C1 = "=(RC[-1]*R8C12)*R9C12" für die Zeilen von M15 - M268

ActiveCell.FormulaR1C1 = "=(RC[-1]*R8C12*3)" für die Zeilen von M269 bis M297

Soweit so gut. Leider kommt es im Laufe des Jahres immer wieder dazu, dass dort Produkte raus genommen werden oder auch hinzugefügt werden.
Somit stimmt die Range nicht mehr mit der Liste überein.

Kann man die Formel nicht auch anders festmachen? Also nicht an der Zeile sondern zBsp an der Überschrift/Kategorie?
Sodass die Range variieren kann.
Oder welche andere Möglichkeiten könnte es geben?

Anbei eine Beispieldatei.

Vielen Dank für eure Hilfe
MfG
Achmed


Angehängte Dateien
.xlsm   PREISLISTE.xlsm (Größe: 42,02 KB / Downloads: 2)
Zitieren
#2
Moin Achmed,
nicht jeder Helfer lädt VBA-verdächtige Files von fremden Quellen herunter.
Ich gehöre zu dieser Spezies.
Wenn du also das File als *.xlsx hoch lädst, hast du bessere Chancen. Und auch die verwendete Excel-Version wäre hilfreich.
Beste Grüße 
  Günther

Ich helfe gerne im Rahmen der Hilfe zur Selbsthilfe; Komplettlösungen werden noch nicht einmal vom Sozialamt kostenlos erstellt ...
Ich hasse unnötige Arbeit, darum weigere ich mich aus prinzipiellen Erwägungen, eine Datei nachzubauen. Also bitte eine Muster-XLSX.
Zitieren
#3
(05.07.2019, 21:37)GMG-CC schrieb: Wenn du also das File als *.xlsx hoch lädst, hast du bessere Chancen.
Damit hat er keine Chance. XLSX enthält keinen VBA-Code. Du meinst XLSM. Wink
Zitieren
#4
@ Mumpel
Wenn du mit "er" mich meinst: Nein, ich lade weder *.xlsm noch *.xlsb und auch keine *.xlsx aus dem Netz. Bei den beiden erstgenannten Dateitypen ist es schließlich möglich, den VBA-Code zu exportieren und die "saubere" xlsx getrennt hoch zu laden.
Beste Grüße 
  Günther

Ich helfe gerne im Rahmen der Hilfe zur Selbsthilfe; Komplettlösungen werden noch nicht einmal vom Sozialamt kostenlos erstellt ...
Ich hasse unnötige Arbeit, darum weigere ich mich aus prinzipiellen Erwägungen, eine Datei nachzubauen. Also bitte eine Muster-XLSX.
Zitieren
#5
Hallo,

Achmed, die Struktur der Tabellen ist so wie sie in der Beispieldatei zu sehen ist, meines Erachtens nicht optimal.
Es ist jetzt ein wenig schwierig, eine bessere Struktur vorzuschlagen, da die Mappe anscheinend reduziert wurde;
aber generell empfiehlt es sich nur in Ausnahmefällen unterschiedliche Formeln in eine Spalte zu haben.

Dein Code greift auf verschiedene Bereiche zu. Diese könntest Du auslesen, indem Du die Bereiche nicht im Code
als Text ablegst, sondern in einer Excel-Zelle. Beispiel:

Code:
Selection.AutoFill Destination:=Range("M15:M268"), Type:=xlFillDefault

würde dann werden zu ...

Code:
Selection.AutoFill Destination:=Range(ActiveSheet.Range("Z1").Value), Type:=xlFillDefault

In Z1 steht dann M15:M268 als Text oder als Ergebnis einer Formel: 

Code:
=ADRESSE(ZEILE(M15);SPALTE(M15);4)&":"&ADRESSE(ZEILE(M268);SPALTE(M268);4)

Der Code sieht insgesamt nach einer Makroaufzeichnung aus. Select-Anweisungen sind z.B. zu 99% überflüssig.
Ich kann Dir jetzt an dieser Stelle keinen VBA-Kurs geben, aber google mal danach. Und nach vollständige
Referenzierung in VBA.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 01/2011 - 06/2019 :: 04/2020 - 06/2022
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner (neu)
Zitieren
#6
Hallo zusammen,

Effektiv hätte ich daran denken müssen, die Datei als *.xlsx hoch zu laden.

Deshalb Danke an maninweb dass er sich das trotzdem angeschaut hat.

Ich werde Deinen Vorschlag mal testen und melde mich danach.

Vielen Dank!!
MfG
Achmed
Zitieren
#7
Hat geklappt.

Vielen Dank

MfG
Daniel
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste




Hinweis auf Angebot Excel-Inside - lang    Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden um dein Anliegen zu besprechen.
   Gerne erstellen wir auf dieser Basis ein Angebot.
   Sende deine Anfrage einfach
per E-Mail an anfrage@excel-inside.de


Powerd and supported by Excel-InsideSolutions