Thema Datum  Von Nutzer Rating
Antwort
Rot Zelle per Funktion ausfüllen
16.08.2013 16:14:36 Kincaid
NotSolved
16.08.2013 22:08:35 Gast96325
NotSolved
16.08.2013 22:22:05 Kincaid
NotSolved
16.08.2013 22:28:22 Gast30954
NotSolved
19.08.2013 09:07:15 Kincaid
NotSolved
19.08.2013 09:42:35 Gast40448
NotSolved
19.08.2013 10:31:57 Kincaid
NotSolved
19.08.2013 11:16:11 Gast36264
NotSolved
19.08.2013 16:26:59 Kincaid
NotSolved
20.08.2013 02:46:20 Gast95565
NotSolved
20.08.2013 09:08:59 Kincaid
NotSolved
20.08.2013 11:02:31 Gast87639
NotSolved
20.08.2013 11:15:07 Kincaid
NotSolved
20.08.2013 11:55:55 Gast57975
NotSolved
20.08.2013 12:52:40 Kincaid
NotSolved
21.08.2013 06:40:29 Gast69614
NotSolved
16.08.2013 22:16:36 Gast78690
NotSolved
19.08.2013 09:11:11 Kincaid
NotSolved
19.08.2013 09:43:51 Kincaid
NotSolved
19.08.2013 09:53:31 Gast85990
NotSolved
19.08.2013 10:36:21 Kincaid
NotSolved

Ansicht des Beitrags:
Von:
Kincaid
Datum:
16.08.2013 16:14:36
Views:
3306
Rating: Antwort:
  Ja
Thema:
Zelle per Funktion ausfüllen

Hallo zusammen,

ich schreibe gerade an einem (für mich) größeren VBA Makro in Excel 2010. Ich muss dort quasi in jeder zweiten Zeile einen Wert in eine Zelle ausgeben und würde mir gerne ersparen jedes mal Sheets("Tabelle1").Range("A1").Value schreiben zu müssen. Ich dachte mir das müsste sich doch gut mit einer Funktion lösen lassen. Ich habe jetzt also folgenden Code:

 

Sub berechnung()

Dim A as Double
Dim B as Double
Dim C as Double

B = 5
C = 10

A = B * C
ausgabe("A1") = A

End Sub



Function ausgabe(x as string)

ausgabe = Sheets("Tabelle1").Range(x).Value

End Function

Damit bekomme ich allerdings beim ausführen von berechnung den "Laufzeitfehler 424: Objekt erforderlich" in der Zeile "ausgabe("A1") = a". Ich habe leider nur wenig Kenntnisse was VBA angeht und habe mir auch die nur selbst angelesen. Ich bin mir also ziemlich sicher das der Fehler offensichtlich ist und ich die Funktionsweise von Funktionen falsch verstehe. Kann mir bitte jemand erklären warum der Code nicht funktioniert? Ich dachte wenn ich "ausgabe("A1") aufrufe wäre das das selbe als würde ich "Sheets("Tabelle1").Range("A1").Value" schreiben und diese Zeile wäre damit gleichbedeutend mit der Zeile "Sheets("Tabelle1").Range("A1").Value = A" die mir ja in meinem Beispiel eine 50 in Zelle A1 schreiben sollte.

Als das nicht ging habe ich folgendes probiert:

Sub berechnung()

Dim A as Double
Dim B as Double
Dim C as Double

B = 5
C = 10

A = B * C
ausgabe("A1", A)

End Sub



Function ausgabe(x as string, y as string)

Sheets("Tabelle1").Range(x).Value = y

End Function

Hier bekomme ich aber gleich wenn ich die Zeile "ausgabe("A1", "A") verlassen will die Meldung "Fehler beim Kompilieren: Erwartet: =". Auch hier bin ich mir wieder sicher das ich was Grundlegendes falsch verstehe. Ich dachte ich kann meine Funktion einfach mit meinen beiden Werten "A1" und A aufrufen und die Zeile in der Funktion würde dann wie folgt aussehen:

Sheets("Tabelle1").Range("A1").Value = 50

Warum funktioniert das nicht? Und vor allem: Wie mache ich es richtig?


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Zelle per Funktion ausfüllen
16.08.2013 16:14:36 Kincaid
NotSolved
16.08.2013 22:08:35 Gast96325
NotSolved
16.08.2013 22:22:05 Kincaid
NotSolved
16.08.2013 22:28:22 Gast30954
NotSolved
19.08.2013 09:07:15 Kincaid
NotSolved
19.08.2013 09:42:35 Gast40448
NotSolved
19.08.2013 10:31:57 Kincaid
NotSolved
19.08.2013 11:16:11 Gast36264
NotSolved
19.08.2013 16:26:59 Kincaid
NotSolved
20.08.2013 02:46:20 Gast95565
NotSolved
20.08.2013 09:08:59 Kincaid
NotSolved
20.08.2013 11:02:31 Gast87639
NotSolved
20.08.2013 11:15:07 Kincaid
NotSolved
20.08.2013 11:55:55 Gast57975
NotSolved
20.08.2013 12:52:40 Kincaid
NotSolved
21.08.2013 06:40:29 Gast69614
NotSolved
16.08.2013 22:16:36 Gast78690
NotSolved
19.08.2013 09:11:11 Kincaid
NotSolved
19.08.2013 09:43:51 Kincaid
NotSolved
19.08.2013 09:53:31 Gast85990
NotSolved
19.08.2013 10:36:21 Kincaid
NotSolved