Clever-Excel-Forum

Normale Version: festes Tabellenende durch loLetzte ersetzen in VBA-Formel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Edgar,

ich sehe keine gelben Zellen.

Dein Code liefert das gleiche Ergebnis, wie der von Ralf.
Das ist aber hier zufällig so, weil der Fehler nicht auffällt.

Z.B. hast Du in der Array Aufzählung die Zelle I24, die nicht dahin gehört.
Da diese Zelle im Nachhinein wieder geleert wird, fällt das nicht auf.

Aber Ralf hätte das sicher gesehen und angepasst. Meine Einlassung ist reine Prinzipienreiterei.
Hallo Freunde,

ihr seid klasse!

Jetzt habe ich 4 Lösungen (mit meiner)!
  • Die von Atilla kann ich nachvollziehen, weil die zeilenweise Aufzählung der zu füllenden Zeilen wie in meinem Code ist. Den Application.Transpose-Teil muß ich noch aufdröseln, warum das die richtigen Werte bringt. Auch schön ist, daß die ersten beiden Zellen I und K7 ebenfalls mit den Werten gefüllt werden ohne die INDEX-VERWEIS-Formel.
  • Die von Edgar kann ich nachvollziehen, weil dort die SVERWEIS-Formel verwendet wird und auch das Array habe ich, denke ich, verstanden. Das muß ich mir aber nochmal anschauen. Sie ist auch schön kurz und wenn ich sie mir mit Kommentaren versehe, werde ich sie in 2 Monaten auch noch verstehen.
  • Die von snb ist mir noch nicht klar, da steige ich noch nicht durch, aber ich konnte durch entfernen des Offsets von 22 wenigstens die Werte in die richtigen Zeilen eintragen lassen. Und durch Ändern auf Tabelle1 klappt auch die Prüfung mit Edgars Tabelle3. Aber warum was wie funktioniert, verstehe ich noch nicht.
    Es werden in Tabelle3 (bed. Formatierung zur Prüfung) auch ein paar Werte nicht gelb markiert, weil die Zahlen in Tabelle1 ab E19 nicht mit denen in Tabelle3 (Werte mit meinem Original-Makro erstellt) übereinstimmen.
[attachment=10288]

Die Zeile mit I24 habe ich nur deshalb dringelassen, weil ich da momentan nichts eintrage und nicht weiß, ob ich es zukünftig tun will. Ich hätte sie vielleicht besser auskommentieren sollen.
(17.03.2017, 18:56)atilla schrieb: [ -> ]Spalte C und D habe ich aus Ralfs Code kopiert und mit Text in Spalten herausgefiltert und sortiert nach D
Zum Ende hin scheint die Konzentration nachgelassen zu haben, als Opa nur verständlich..... :19:

das kommt wohl, weil das I24 im Array 2x drin ist.
Wenn's kein Schema gibt kann man eine Array so auswerten:

Code:
Sub M_snb()
    With Sheets("Tabelle3")
        .Range("C8:K24").ClearContents
        sp = .Range("C8:K24")
        x = Asc(.Cells(7, 5)) - 96
    end with
    sn = Sheets("Datenbank").Cells(3, 3).CurrentRegion

    sq = Split("1 1_1 3_1 5_2 1_2 3_2 5_2 7_3 1_3 3_3 5_3 7_3 9_5 1_5 3_5 5_5 7_5 9_7 1_7 3_7 5_7 7_7 9_8 1_9 1_9 3_9 5_9 7_11 1_11 3_11 5_11 7_11 9_12 1_12 3_12 5_14 1_14 3_14 5_16 1_16 3_16 5_16 7_17 1_17 3_17 5_17 7", "_")

    For j = 0 To UBound(sq)
      st = Split(sq(j))
      sp(st(0), st(1)) = sn(x, j + 2)
    Next
    
    Sheets("Tabelle3").Range("C8:K24") = sp
End Sub

- jeder 'Kalkulation' findet statt in einem Array (wegen Geschwindigkeit)
- ich schreibe nur einmal ins Arbeitsblatt
- es gibt nur VBA; keine Excelformeln.
Hallo,

das I24 ist deshalb zweimal drin, weil damit das Schema passt und die Zelle nach Ralfs Code sowieso geleert wird. Wenn man nämlich den Code von Ralf betrachtet (s. atilla´s Auflistung), fehlen die Spalten 44 und 48 und an den Stellen habe ich I24 eingesetzt, die ich anschließend leere!
Hi Edgar,

(22.03.2017, 09:17)BoskoBiati schrieb: [ -> ]Wenn man nämlich den Code von Ralf betrachtet (s. atilla´s Auflistung), fehlen die Spalten 44 und 48 und an den Stellen habe ich I24 eingesetzt, die ich anschließend leere!

ok, das stimmt, gute Lösung, falls ich dann trotzdem mal I24 füllen will, kann ich ja eine andere unbeutzte Zelle nehmen.
Seiten: 1 2 3