910 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Spezies!

Mit folgendem Makro kann ich fehlende Bereiche der Spalte A auffüllen. Leider geht dabei die Formel,

( =ipGetELAttID("DIHKEMD2";"name";"St_Tr=80191";"TimeBase="&$E$2&";Scenario="&$E$3) ) Bezüge variieren!!!

die in dem Puffer steht, verloren. Was muss ich da anpassen? Es handelt sich hierbei um eine Formel, die direkt auf eine Datenbank-Software zugreift.

Sub Auffuellen()
Dim puffer1 As Variant
Dim zaehler As Long, zeile As Long
zeile = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
ReDim matrix(zeile, 1) As Variant
matrix() = Range(Cells(1, 1), Cells(zeile, 1))
For zaehler = 1 To zeile

If matrix(zaehler, 1) <> "" Then
puffer1 = matrix(zaehler, 1)
Else
matrix(zaehler, 1) = puffer1
End If

Next zaehler
ActiveWorkbook.ActiveSheet.Range(Cells(1, 1), Cells(zeile, 1)) = matrix()

End Sub





Ich hoffe, es hat jemand eine Idee dazu.

Vielen Dank schon mal...

Gruss

Ines

2 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi ines :-)

die zuweisung sollte zum anfang des makros stehen,die deklaration sollte ein string sein ,kein variant
puffer1 = "DEINEFORMEL"


die if abfrage bedarf keiner else verzweigung,ich denke das es auch so reicht,probier mal :-))

If matrix(zaehler, 1) <> "" Then
matrix(zaehler, 1) = puffer1
End If


gruss nighty
0 Punkte
Beantwortet von
Hallo nighty!

Schon mal danke für Deinen Ansatz!
Ich habe jedoch eine variable Pufferformel!

Von daher ist das Ursprungsmakro schon ok, nur leider wird nur der Text
(110001 Veranstaltungen HGF)
der Zelle, aber nicht der Inhalt (sprich die variable Formel
(=prevero.ipGetELAttID("DIHKEMD2";"name";"St_Tr=80229";"TimeBase="&$E$2&";Scenario="&$E$3)))
eingefügt.

Ich hoffe, ich habe mich jetzt verständlicher ausgedrückt.

Gruss

Ines
...