VBA-Code falsch..aber wo?



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: VBA-Code falsch..aber wo?
von: Conny
Geschrieben am: 18.07.2002 - 10:55:53

Hallo,
wie kann ich den Wert aus einer Zelle in einem Arbeitsblatt einlesen und dann aus einer Zelle aus einem anderen Arbeitsblatt wieder abrufen?..Also mein Code kommt nur soweit, das der Wert zwar auf demselben Tabellenblatt korrekt angezeigt wird wennich die Funktion aufrufe, aber auf einem anderen Tabellenblatt funktioniert es nicht..

hier der code..

Function Ableitung(a)

'm = y2 - y1 / x2 - x1

Application.ThisWorkbook.Sheets("Tabelle2").Activate
b = Range("A1").Value
Application.ThisWorkbook.Sheets("Tabelle1").Activate
Range("A1").Select
Range("A1").Insert
Ableitung = b

End Function

kann mir bitte jemand sagen, was falsch ist?
Vielen Dank
Conny


nach oben   nach unten

Re: VBA-Code falsch..aber wo?
von: Braveheart
Geschrieben am: 18.07.2002 - 10:59:12

beschäftige mich genau seit 3 wochen mit VBA und das auch nur wegen der Arbeit *g*, also net böse sein sollte die Antwort jetzt blöd sein ;)

du speicherst A1 in b, machst in der tabelle2 aber sonst gar nix damit. DANN wechselst du, selektierst A1 in Tabelle1 und fügst ein.. nur was fügst du ein? *g* woher soll VB wissen was du meinst?


nach oben   nach unten

Re: VBA-Code falsch..aber wo?
von: Conny
Geschrieben am: 18.07.2002 - 11:00:59

was soll ich denn noch weiter mit b in tabelle 2 machen?..probiere erstmal nur aus, ob er wert übernimmt, weil ich das für spätere berechnungen brauche..weiss leider gar nciht bescheid, weil ich seit genau heute mit vba anfange :-)
nach oben   nach unten

Re: VBA-Code falsch..aber wo?
von: Hans W. Herber
Geschrieben am: 18.07.2002 - 11:03:28

Hallo Conny,

Du übergibst den Wert an die Funktion, aber nicht an die Zelle. Das, was Du anstellen möchtest, erledigt der nachfolgende Code:


Sub Ableitung()
   Worksheets("Tabelle1").Range("A1").Value = _
      Worksheets("Tabelle2").Range("A1").Value
End Sub

Merke: Selektieren und Aktivieren ist in der VBA-Programmierung Teufelszeugs.

hans

nach oben   nach unten

Re: VBA-Code falsch..aber wo?
von: Otto Ecker
Geschrieben am: 18.07.2002 - 11:05:32

Hallo Conny,

Du übergibst den Zellinhalt aus Tabelle2 an die Variable "b" indem Du schreibst b=Range("A1").value

zurückgeben wie folgt: Range("A1").value=b

:-)

Gruß Otto

PS Lade Dir die Beipiele-Datei von Hans runter bzw. kauf Dir noch besser gleich die CD mit den Beispielmappen

nach oben   nach unten

Meinst Du so?
von: Michael Wendeler
Geschrieben am: 18.07.2002 - 11:08:23

Hallo Conny,

ich weiß nicht genau, was du mit der Funktion bewirken möchtest, doch ändere Sie wie folgt (vor Range auch noch den Namen des Worksheets einfügen) ab und der Wert wird auch auf ein anderes Tabellenblatt übernommen.


Function Ableitung(a)

'm = y2 - y1 / x2 - x1

Application.ThisWorkbook.Sheets("Tabelle2").Activate
b = Worksheets("Tabelle2").Range("A1").Value
Application.ThisWorkbook.Sheets("Tabelle1").Activate
Range("A1").Select
Range("A1").Insert
Ableitung = b

End Function

Gruß
M. Wendeler
http://www.wendelers.de


nach oben   nach unten

Code klappt nicht Herr Herber
von: Conny
Geschrieben am: 18.07.2002 - 11:08:50

Leider funktioniert das nicht..
er gibt dieFehlermeldung das es ein falscher Name ist..

nach oben   nach unten

Re: Code klappt nicht Herr Herber
von: Hans W. Herber
Geschrieben am: 18.07.2002 - 11:11:10

... wenn Du entweder keine Tabelle1 oder keine Tabelle2 hast, funktioniert der Code in der Tat nicht. Sollte uns das wundern?

hans


nach oben   nach unten

Re: VBA-Code falsch..aber wo?
von: Conny
Geschrieben am: 18.07.2002 - 11:12:38

leider funktioniert auch das nicht..fehlermeldung: zirkelbezug
 nach oben

Beiträge aus den Excel-Beispielen zum Thema "VBA-Code falsch..aber wo?"