Microsoft Excel

Herbers Excel/VBA-Archiv

HILFE!!! Formel lässt sich per VBA nicht ziehen...

Betrifft: HILFE!!! Formel lässt sich per VBA nicht ziehen... von: Anja
Geschrieben am: 11.08.2004 16:47:39

Hallo Leute,

ich habe wieder ein Problem,…
Ich weiss nicht was ich noch machen soll…:(

Ich versuche eine Formel über eine Spalte automatisch per VBA zu ziehen…
Es will aber nicht…

Ich weiß auch nicht wie so, wenn ich es manuell mache geht das…
Nur das Problem ist die Formel muss automatisch den Letzten Eintrag erkennen, und nach Ihn rechnen.
Bitte helft mir… Es ist bestimmt was in der Schreibweise verkehr…

So sieht die Formel normaler weise aus, hier nur bis 75, und das wird immer größer, deswegen muss ich erst letzten Eintrag ermitteln, und ihn dann in die Formel einsetzten und einschliessend über ganze Spalte bis letzten Eintag ziehen.

=WENN(ISTFEHLER(SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$75=A14)*(Testplan_GTC_Probe!$R$6:$R$75=D14)*(Testplan_GTC_Probe!$Q$6:$Q$75)));0;SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$75=A14)*(Testplan_GTC_Probe!$R$6:$R$75=D14)*(Testplan_GTC_Probe!$L$6:$L$75)))

Und hier ist die Code dafür, und entsprechend veränderte Formel:
Das sieht aber echt komisch aus und ich weiß nicht was genu ich falsch gemacht habe:

Code:

Sub Tested()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Dim iRowNext As Integer
Dim StartRow As Integer, i, Formula, iLetzt As Integer

Sheets("Testplan_GTC_Probe").Select

iLetzt = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

Sheets("Tabelle1").Select

iRowNext = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
StartRow = 14


Formula = "=WENN(ISTFEHLER(SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & " =A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")));"";SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & "=A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")))"

Range("G" & StartRow & ":G" & iRowNext).FormulaLocal = Formula

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic


End Sub


Danke
Viele Grüße
Anja
  


Betrifft: AW: HILFE!!! Formel lässt sich per VBA nicht ziehen... von: Nepumuk
Geschrieben am: 11.08.2004 17:11:58

Hallo Anja,

1. Du musst die Anführungszeichen in Anführungszeichen setzen.

Formula = "=WENN(ISTFEHLER(SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & " =A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")));"""";SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & "=A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")))"

2. Du verwendest die den Name Formula als Variablennamen. Das soltest du tunlichst vermeiden, da dies ein Schlüsselwort in VBA ist.

Gruß
Nepumuk


  


Betrifft: AW: HILFE!!! Formel lässt sich per VBA nicht ziehen... von: Anja
Geschrieben am: 11.08.2004 17:23:58

Hallo Nepumuk,

mit anderem Name habe ich auch schon probiert,...
Die Schreibweise ist falsch... ich glaube besonders da wo ich den zusätlichen Component(iLetzt) einsetze.

Hast du vielleicht noch irgend ein Vorschlag?

Viele Grüße

Anja


  


Betrifft: AW: HILFE!!! Formel lässt sich per VBA nicht ziehen... von: Nepumuk
Geschrieben am: 11.08.2004 17:39:55

Hallo Anja,
ich habe das getestet, soweit es ging. Den einzigen Fehler den ich fand, verbarg sich an deiser Stelle der Formel: :$Q$" & iLetzt & ")));"""";SUMMENPRODUKT
Dort waren nur zwei Anführungszeichen, aber es hättet vier sein müssen (wie geschrieben, die Anführungszeichen in Anführungszeichen setzen).
Gruß
Nepumuk


  


Betrifft: AW: HILFE!!! Formel lässt sich per VBA nicht ziehen... von: Anja
Geschrieben am: 11.08.2004 18:05:16

Hi,

Man bin ich blöd.... stell dir vor, ich habe falsche Tabelle ausgewählt, deswegen hat er ein Blödsinn gemacht...
Danke, du hast mir die Augen geöffnet... :)

Ich lieeeeebe diesen Forum.... ;) und euch natürlich auch...

Viele Grüße

Anja


 

Beiträge aus den Excel-Beispielen zum Thema "HILFE!!! Formel lässt sich per VBA nicht ziehen..."