Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variablen aus Makro laden, Referenz

Variablen aus Makro laden, Referenz
Sebastian
Ich schonwieder ;)
Nachdem ich nun mein Problem von heute Nacht gelöst habe wollte ich mein Makro noch etwas flexibler gestalten. Ziel des Makros ist es ein Diagramm zu erstellen. Bisher hatte ich für die Farben der einzelnen Reihen im vorderen Teil des Makros mehrere Variablen deklariert und diesen Werte zugewiesen.
Da das Makro aber nicht nur von mir genutzt werden soll und ich jedem die Möglichkeit bieten will, sich die Diagrammfarben selbst zu wählen, möchte ich nun in das Worksheet der Makro-Datei eine Tabelle einfügen, in die man Werte für den ColorIndex eintragen kann.
Diese Werte sollen während der Abarbeitung des Makros ausgelesen werden.
Und genau hier hänge ich:
Ich weiß nicht, wie ich, wenn ich von einer meiner Datendateien das Makro aufrufe, auf eine Zelle im Worksheet der Makrodatei referenziere.
Mit ThisWorkbook referenziere ich ja nur das Workbook, in welchem das Makro aufgerufen wird.
Beste Grüße,
Sebastian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Variablen aus Makro laden, Referenz
07.03.2010 12:57:55
ChristianM
Hallo
Mit ThisWorkbook referenziere ich ja ... das Workbook- genau!
Und zB mit ThisWorkbook.Worksheets("Farben") auf das entsprechende Tabellenblatt
und dann zB mit ThisWorkbook.Worksheets("Farben").Cells(1, 1) auf die Zelle A1 in diesem Blatt.
Gruß
Christian
AW: Variablen aus Makro laden, Referenz
07.03.2010 13:05:22
Sebastian
Hallo Christian!
Ich habe mein Makro in einer Datei MakroXYZ.xls
In der geöffneten Datei Messwerte123.csv rufe ich das Makro über einen Button in der Schnellstartleiste auf.
Wird mit ThisWorkbook dann nicht Messwerte123.csv referenziert?
Gruß
AW: Variablen aus Makro laden, Referenz
07.03.2010 13:21:45
ChristianM
nein, Sebastian... probier's aus
mit Thisworkbook wird die Mappemit dem Makro angesprochen.
mit ActiveWorkbook die Aktive Mappe
Gruß
Christian
Anzeige
AW: Variablen aus Makro laden, Referenz
07.03.2010 13:25:02
Sebastian
Hallo Christian,
vielen Dank, du hattest natürlich recht.
Um nun wieder zur aufrufenden Datei (Messwerte123.csv) zurückzugelangen musste ich diese, bevor ich ThisWorkbook.Sheets(1).Activate anwende folgenden Code einfügen:
Sub VariablenLaden()
Dim Mappe_Aufruf As Workbook
Set Mappe_Aufruf = ActiveWorkbook
End Sub
anschließend ging folgendes:
Sub VariablenLaden2()
Dim Color1 As Integer, Color2 As Integer, Color3 As Integer, Color4 As Integer
ThisWorkbook.Activate
Color1 = ActiveSheet.Cells(3, 3)
Color2 = ActiveSheet.Cells(4, 3)
Color3 = ActiveSheet.Cells(5, 3)
Color4 = ActiveSheet.Cells(6, 3)
Mappe_Aufruf.Worksheets(1).Activate
End Sub
Danke nochmal,
Sebastian
Anzeige
naja....
07.03.2010 13:46:51
ChristianM
... du musst die Mappe mit den Makros ja nicht aktivieren:

Option Explicit
Sub TestIt()
Dim vntColor, i As Long
With ThisWorkbook.Sheets("Farben")
vntColor = .Cells(3, 3).Resize(4).Value
End With
For i = 1 To UBound(vntColor)
MsgBox vntColor(i, 1)
Next
End Sub
Gruß
Christian
AW: naja....
07.03.2010 14:03:09
Sebastian
Stimmt, das habe ich, nachdem ich meinen Code ein paar Mal habe ablaufen lassen noch entfernt, da - wie du schon sagst - unnötig.
Da ich das Makro jetzt über Wochen geschrieben und immer wieder ergänzt und verändert habe sind aus den Anfangszeiten meiner VBA-Programmierung noch einige .Select und unnötige Activates übrig, die ich jetzt alle noch entfernen werde. Vielleicht bringt das noch zusätzliche Performance.
Wobei das .Activate ohnehin keine große Auswirkung hat, da ScreenUpdating auf False steht.
Ich bin immer wieder beeindruckt, wie schnell und umfassend einem hier geholfen wird!
Sebastian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige