Wert aus VB in Excel Tabelle einfügen (2024)

D

dranonym

Grünschnabel
  • 28. September 2007
  • #1

Hi Leute!!

Ich hab folgendes Problem:

Ich habe eine Rechnung für eine Parabel aufgestellt. Diese wollte ich dann in Excel über das OLE Objekt zeichnen lassen. Hab auch soweit alles eingestellt.
Nur jetzt muss ich einen Wert in eine Excel Zelle einfügen. Krieg es aber einfach nicht hin!

So sieht mein code bis jetzt aus:

Code:

Private Sub Command2_Click()Dim xDim yGoTo checkrechnung:y = Text2.Text ^ 2 + Text3.Text * Text2.Text + Text4.TextLabel17.Caption = yWorkbooks("mappe1").Worksheets("mappe1").Cells(2, 1).Value = yExit Subcheck:If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" ThenExit SubElseGoTo rechnungEnd IfEnd Sub

Das haupproblem liegt bei:

Code:

Workbooks("mappe1").Worksheets("mappe1").Cells(2, 1).Value = y

weil wenn ich das Programm starte, und dann auf den Button klicke, kommt der Fehler: "index außerhalb des gültigen bereiches" und es wird die gerade genannte zeile markiert.

Ich hoffe ihr versteht es ^^

MFG
Dr. Anonym

P.S. Ich hab Office 2007, aber es sollte am besten mit allen office versionen funktionieren. Wert aus VB in Excel Tabelle einfügen (1)

Jacka

Erfahrenes Mitglied
  • 29. September 2007
  • #2

Hi!

Nur kurz zum Verständnis:
Ist der Code in VBA, also schon direkt in Excel oder sprichst du
Excel mit VB zb. VB6 an?

Ich gehe mal vom Letzteren aus, da es in Excel Textbox1 heißen würde und man VBA unter dem Neuen Office 2007 vergessen kann...

Versuch es mal so:
Workbooks("Mappe1").Sheets("Mappe1").Cells(2, 1).Value = y
Heißt die Tabelle wirklich Mappe1?

Poste mal den ganzen Teil des Codes, da mich das doch etwas verwirrt. Wert aus VB in Excel Tabelle einfügen (3)
Also Anbindung an Excel (Excel.Application, etc.).

Warum schreibst du den Code so komisch durcheinander?
Mein Vorschlag:

Code:

Private Sub Command2_Click()Dim x As VariantDim y As VariantIf Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Then Exit SubElse y = Text2.Text ^ 2 + Text3.Text * Text2.Text + Text4.Text Label17.Caption = y ' Wo ist das Excel-Objekt? Workbooks("mappe1").Worksheets("mappe1").Cells(2, 1).Value = yEnd IfEnd Sub

Viele Grüße,
Jacka

D

dranonym

Grünschnabel
  • 30. September 2007
  • #3

Danke für die Anwort.

Hat aber auch nicht geklappt. Selbe Fehlermeldung.

wo steht denn der Name der Tabelle

Aber wissen Sie vielleicht noch eine Andere Möglichkeit Parabeln Zeichnen zu lassen. (also ohne ein Excel Plugin!). Weil diese ganzen Verweise sind doch etwas viel Arbeit.

Danke im Vorraus ^^

Zuletzt bearbeitet:

Jacka

Erfahrenes Mitglied
  • 30. September 2007
  • #4

Hi!

Mmm. komisch!

Schau dir nochmal die Anbindung an Excel an (Excel Verweis muss gesetzt sein):

Code:

Private Sub cmdBrowse_Click()Dim oExl As ObjectSet oExl = CreateObject("Excel.Application")oExl.Visible = TrueOn Error Resume Next With CommonDialog1 .CancelError = True .Filter = "Excel-Files (*.xls)|*.xls" ' Filter setzen, nur Excel anzeigen ' Dialogfeld Öffnen anzeigen .ShowOpen If .FileName <> "" Then oExl.Workbooks.Open .FileName 'Ausgewähltes Excel-File wird geöffnen.. oExl.Worksheets("Tabelle1").Activate '.. und Tabelle1 aktiviert oExl.ActiveSheet.Range("A1").Value = "12345" ' In Zelle A1 Wert einfügen. 'schließen der Excelliste ActiveWorkbook.Close SaveChanges:=True ' Änderungen werden gespeichert oExl.Quit Set oExl = Nothing End If End WithEnd Sub

Ansonsten, direkt in VB zeichnen! Kleine Anleitung:
http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/tipps/tip0010.shtml

Hier hab ich noch ein Tutorial gefunden:
http://www.it-academy.cc/article/75...+Simulation+der+Erdanziehungskraft+in+VB.html

Viele Grüße,
Jacka

D

dranonym

Grünschnabel
  • 4. Oktober 2007
  • #5

Vielen Dank!
Jetzt funktionierts Wert aus VB in Excel Tabelle einfügen (5)

Aber jetzt hab ich ein anderes problem! Wie bringe ich das OLE-Objekt dazu, dass es sich nach dem Zeichnen von alleine Aktualisiert?
Habs schon mit "ole1.update" und "ole1.refresh" probiert, aber keins funktioniert!

Könnt ihr mir da auch helfen

D

dranonym

Grünschnabel
  • 5. Oktober 2007
  • #6

Ok, habs jetzt einigermaßen hingekriegt!
Nur ein Problem hab ich immernoch:
Das eingefügte Objekt (Excel Dokument) wird nicht ganz im Fenster angezeigt, sondern rechts abgeschnitten, ich sehe nur einen kleinen Abschnitt davon.

hier mein Code bis jetzt:

Code:

On Error Resume NextDim oExl As ObjectDim XIf txtD.Text = "" Or txtC.Text = "" ThenMsgBox "Es müssen alle Werte angegeben werden!", vbCritical, "Fehler..."Exit SubElseSet oExl = CreateObject("Excel.Application")oExl.Workbooks.Open (App.Path & "\mappe1.xls")oExl.Worksheets("Tabelle1").ActivateY1 = (oExl.ActiveSheet.Range("A1").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B1").Value = Y1Y2 = (oExl.ActiveSheet.Range("A2").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B2").Value = Y2y3 = (oExl.ActiveSheet.Range("A3").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B3").Value = y3y4 = (oExl.ActiveSheet.Range("A4").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B4").Value = y4y5 = (oExl.ActiveSheet.Range("A5").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B5").Value = y5y6 = (oExl.ActiveSheet.Range("A6").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B6").Value = y6y7 = (oExl.ActiveSheet.Range("A7").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B7").Value = y7y8 = (oExl.ActiveSheet.Range("A8").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B8").Value = y8y9 = (oExl.ActiveSheet.Range("A9").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B9").Value = y9y10 = (oExl.ActiveSheet.Range("A10").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B10").Value = y10y11 = (oExl.ActiveSheet.Range("A11").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B11").Value = y11y12 = (oExl.ActiveSheet.Range("A12").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B12").Value = y12y13 = (oExl.ActiveSheet.Range("A13").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B13").Value = y13y14 = (oExl.ActiveSheet.Range("A14").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B14").Value = y14y15 = (oExl.ActiveSheet.Range("A15").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B15").Value = y15y16 = (oExl.ActiveSheet.Range("A16").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B16").Value = y16y17 = (oExl.ActiveSheet.Range("A17").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B17").Value = y17y18 = (oExl.ActiveSheet.Range("A18").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B18").Value = y18y19 = (oExl.ActiveSheet.Range("A19").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B19").Value = y19y20 = (oExl.ActiveSheet.Range("A20").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B20").Value = y20y21 = (oExl.ActiveSheet.Range("A21").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B21").Value = y21y22 = (oExl.ActiveSheet.Range("A22").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B22").Value = y22y23 = (oExl.ActiveSheet.Range("A23").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B23").Value = y23y24 = (oExl.ActiveSheet.Range("A24").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B24").Value = y24y25 = (oExl.ActiveSheet.Range("A25").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B25").Value = y25y26 = (oExl.ActiveSheet.Range("A26").Value - txtD.Text) ^ 2 + txtC.TextoExl.ActiveSheet.Range("B26").Value = y26eExl.ActiveWorkbook.Close SaveChanges = True ' Änderungen werden gespeichertoExl.QuitOLE1.DoVerb 0OLE1.RefreshOLE1.Close eExl.ActiveWorkbook.Close SaveChanges = True ' Änderungen werden gespeichert oExl.Quit Set oExl = NothingEnd If

D

dranonym

Grünschnabel
  • 29. Oktober 2007
  • #7

Weis denn keiner eine Antwort?
Ich bräuchte diese Hilfe wirklich sehr!

Jacka

Erfahrenes Mitglied
  • 29. Oktober 2007
  • #8

Wert aus VB in Excel Tabelle einfügen (7)

Wo und was wird nicht richtig angezeigt?

Bitte versuch formuliere deine Fragestellung nocheinmal so, das sie auch alle
verstehen. Dann bekommst du auch deine Antwort.
Aber wir wissen immer noch nicht das System und was genau du eigentlich machen
willst.

Viele Grüße,
Jacka

Um antworten zu können musst du eingeloggt sein.

Wert aus VB in Excel Tabelle einfügen (2024)

FAQs

Wie fügt man mit VBA einen Wert in eine Excel-Zelle ein? ›

Value ist eine Eigenschaft in VBA, die hauptsächlich mit der Range-Methode verwendet wird, um einem bestimmten Bereich einen Wert zuzuweisen . Es handelt sich um einen integrierten Ausdruck in VBA. Wenn wir beispielsweise range(„B3“). value = 3 verwenden, wird der Zelle B3 der Wert 3 zugewiesen. Dies bedeutet jedoch nicht unbedingt, dass die Value-Eigenschaft nur mit der Range-Methode verwendet werden muss.

Wie erhält man in Excel VBA einen Wert aus einer Zelle? ›

Technisch gesehen gibt es zwei Methoden, um in VBA mit einer Zelle zu interagieren: die Bereichsmethode und die Zellenmethode. Wir können die Bereichsmethode wie range(„A2“) verwenden . Der Wert gibt uns den Wert der Zelle A2, oder wir können die Zellenmethode als cells(2,1) verwenden. Der Wert gibt uns auch den Wert der Zellen A2.

Wie füge ich VBA in Excel ein? ›

So rufen Sie die Methode aus VBA-Code auf
  1. Drücken Sie F5, um das Projekt auszuführen.
  2. Klicken Sie auf der Registerkarte Entwickler in der Gruppe Code auf Visual Basic. ...
  3. Klicken Sie im Menü Einfügen auf Modul.
  4. Fügen Sie dem neuen Modul den folgenden Code hinzu. ...
  5. Drücken Sie F5.
Jan 13, 2024

Wie füge ich Daten in eine Excel-Tabelle ein? ›

Fügen Sie einer Tabelle eine Zeile oder Spalte hinzu , indem Sie in eine Zelle direkt unter der letzten Zeile oder rechts neben der letzten Spalte tippen, indem Sie Daten in eine Zelle einfügen oder indem Sie Zeilen oder Spalten zwischen vorhandenen Zeilen oder Spalten einfügen . Um eine Zeile am Ende der Tabelle hinzuzufügen, beginnen Sie mit der Eingabe in einer Zelle unter der letzten Tabellenzeile.

Wie erhält man einen Wert aus einem Bereich in Excel? ›

Wenn Sie Werte aus einem Zellbereich abrufen möchten, verwenden Sie stattdessen die Methoden GetRange und GetRangeA1 . Methoden mit dem Suffix A1 ( GetCellA1 und GetRangeA1) verwenden ein anderes Koordinatensystem als Methoden ohne das Suffix ( GetCell und GetRange).

Wie ersetzt man einen Zellenwert in Excel VBA? ›

VBA-Suchen- und Ersetzen-Syntax

Zuerst haben wir den Zellbereich ausgewählt, also geben wir den Zellbereich mit dem RANGE-Objekt in VBA an. Setzen Sie nun einen Punkt (.), um die IntelliSense-Liste anzuzeigen. Wählen Sie die Methode „Replace“ aus der Liste aus. Wir können die umfangreiche Parameterliste der Methode „Replace“ sehen.

Wie erhält man den Wert einer Zelle in Excel? ›

Es gibt verschiedene Möglichkeiten, einen Zellenwert in Excel abzurufen, je nachdem, was Sie damit machen möchten. Eine Möglichkeit besteht darin , die Funktion INDEX zu verwenden, die eine Zelle innerhalb eines angegebenen Bereichs sucht und ihren Wert zurückgibt . Eine andere Möglichkeit besteht darin, die Funktion INDIREKT zu verwenden, die einen durch eine Textzeichenfolge angegebenen Verweis zurückgibt.

Wie setze ich einen Wert in Excel fest? ›

Excel Zellbezug fixieren

Einfach auf die Formel gehen und im Formeltext vor der entsprechenden Zelle [F4] drücken. Dann wird diese Zelle mit „$“ gekennzeichnet $Spalte $ Zeile (Bsp.: $A$4). Dann bleibt die Zelle / der Zellbezug auf die Zelle A4.

Wie mache ich einen zellbezug? ›

Klicken Sie auf die Zelle, in die Sie die Formel eingeben möchten. ein Gleichheitszeichen (=) ein. Führen Sie eine der folgenden Aktionen aus: Bezug auf eine oder mehrere Zellen Wählen Sie zum Erstellen eines Bezugs eine Zelle oder einen Zellbereich auf demselben Arbeitsblatt aus.

Wie importiere ich VBA-Code in Excel? ›

VBA-Code in Excel-Arbeitsmappe einfügen

Drücken Sie Alt + F11, um den Visual Basic Editor (VBE) zu öffnen. Klicken Sie mit der rechten Maustaste auf den Namen Ihrer Arbeitsmappe im Bereich „Project-VBAProject“ (oben links im Editorfenster) und wählen Sie im Kontextmenü „Einfügen -> Modul“ . Kopieren Sie den VBA-Code (von einer Webseite usw.).

Wie lange gibt es noch VBA? ›

Wie die Windows Version bietet die kommerzielle Version von Office LTSC für Mac 5 Jahre Support im Rahmen der Fixed Lifecycle-Richtlinie.

Wie aktiviere ich VBA in Excel? ›

Klicken Sie auf die Registerkarte Datei und dann auf Optionen. Klicken Sie auf Trust Center und dann auf Einstellungen für das Trust Center. Klicken Sie auf Makroeinstellungen, und aktivieren Sie dann das Kontrollkästchen Excel 4.0-Makros aktivieren, wenn VBA-Makros aktiviert sind .

Wie speichere ich Daten mit VBA in Excel? ›

Wenn Sie in jedem Element denselben Datentyp (Long, Integer, String usw.) speichern möchten , geben Sie diesen Datentyp an, wenn Sie das Array deklarieren . Wenn in verschiedenen Elementen unterschiedliche Datentypen gespeichert werden sollen, verwenden Sie Variant als Datentyp.

Wie importiere ich Daten in Excel? ›

Klicken Sie auf die Zelle , in die Sie die Daten aus der Textdatei einfügen möchten. Klicken Sie auf der Registerkarte Daten in der Gruppe Daten abrufen und transformieren auf Aus Text/CSV. Suchen Sie im Dialogfeld Daten importieren die zu importierende Textdatei, doppelklicken Sie darauf und klicken Sie auf Importieren .

Wie lege ich in VBA einen Standardwert in Excel-Zellen fest? ›

Festlegen eines Standardwerts

Geben Sie auf der Registerkarte Allgemein einen Wert in das Eigenschaftenfeld Standardwert ein . Der Wert, den Sie eingeben können, hängt vom Datentyp ab, der für das Feld festgelegt ist. Sie können beispielsweise =Date() eingeben, um das aktuelle Datum in ein Datums-/Uhrzeitfeld einzufügen.

Wie lege ich einen Bereichswert in Excel VBA fest? ›

Schritt 1: Öffnen Sie das Modul erneut und schreiben Sie die Unterprozedur, vorzugsweise mit dem Namen „VBA Set Range“. Schritt 2: Wählen Sie die Zelle aus, in der Sie den Bereich festlegen möchten. Wir haben Zelle A1 ausgewählt, wie unten gezeigt. Schritt 3: Geben Sie den Namen oder Wert ein, den wir in die ausgewählte Bereichszelle einfügen möchten.

Wie deklariert man eine Zellvariable in VBA? ›

Um eine Variable in Excel VBA zu verwenden, müssen Sie sie zunächst mit einer Dim-Anweisung deklarieren . Sie können beispielsweise eine Zeichenfolgenvariable mit dem Namen „SheetName“ wie folgt deklarieren: Dim SheetName As String. Anschließend können Sie dieser Variablen mit dem Operator „=“ einen Wert zuweisen.

Was ist .value in Excel VBA? ›

In Excel VBA gibt es drei Möglichkeiten, Werte für einen Bereich zu kopieren oder festzulegen: 1. „Wert“: Diese Eigenschaft legt den Wert einer Zelle oder eines Zellbereichs als Variantendatentyp fest oder gibt ihn zurück . Beispiel: „Kopieren Sie den Wert von Zelle A1 in Zelle B1. Bereich(„A1“).“ Wert = Bereich(„B1“).“

Top Articles
Latest Posts
Article information

Author: Duane Harber

Last Updated:

Views: 6203

Rating: 4 / 5 (71 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Duane Harber

Birthday: 1999-10-17

Address: Apt. 404 9899 Magnolia Roads, Port Royceville, ID 78186

Phone: +186911129794335

Job: Human Hospitality Planner

Hobby: Listening to music, Orienteering, Knapping, Dance, Mountain biking, Fishing, Pottery

Introduction: My name is Duane Harber, I am a modern, clever, handsome, fair, agreeable, inexpensive, beautiful person who loves writing and wants to share my knowledge and understanding with you.