Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
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

Variable Dateiübergreifend übergeben

Variable Dateiübergreifend übergeben
alex
Hallo liebe Excelfreunde. Ich habe eine ganz kleine frage.
Wie kann ich eine variable bei 2 geöffneten Mappen von einer Mappe zur andern übergeben?
Vielen dank für eure Antworten
Gruß alex
AW: Variable Dateiübergreifend übergeben
25.09.2010 12:53:47
Hajo_Zi
Hallo Alex,
rufts Du aus Mappe1 ein Makro in Mappe2 auf? Dann übergebe die Variable beim Aufruf.
Application.Run mit Variablen
Application.Run "PERSONAL.XlSB!MarkBerIdenfiz", 1, 2, 3, 4

AW: Variable Dateiübergreifend übergeben
25.09.2010 14:53:45
alex
Hallo Hajo. erstmal danke für deine Antwort.
nein eigentlich soll das makro in mappe1 in mappe2 einen filter lösen, etwas in die mappe 2 hinein schreiben und danach den filter wieder setzen.
da ich unter schiedliche filtereinstellungen in mappe 2 habe möchte ich die gerade aktive filtereinstellung mit einem makro an mappe 1 übergeben.
ich hoffe ich habe das einiger maßen verständlich ausgedrückt.
Anzeige
AW: Variable Dateiübergreifend übergeben
25.09.2010 15:05:15
JogyB
Hallo Alex,
so wie Du es beschrieben hast verstehe ich nicht, wieso das Makro in Mappe1 die Filtereinstellung überhaupt kennen muss. Schreib einfach in Mappe2 das entsprechende Makro und rufe das von Mappe1 aus auf.
Mal abgesehen davon brauchst Du eigentlich nicht mal ein Makro in der zweiten Mappe, Du kannst doch von der einen Mappe auf die andere zugreifen.
Gruß, Jogy
AW: Variable Dateiübergreifend übergeben
25.09.2010 15:15:58
alex
das makro aus mappe 1 soll in mappe2 einen namen suchen und 2 zellen neben diesen namen ein datum schreiben. wenn dieser wert aber gerade weggefiltert ist dann findet mappe eins diesen namen nicht(das habe ich schon getestet). deshalb würde ich gerne für die zeit der ausführung des makros den filter aus mappe 2 lösen, das datum an die richtige stelle schreiben und danach die vorherige filtereinstellung wieder setzen.
Die filtereinstellungen in mappe 2 werden auch über makros gesteuert, deshalb dachte ich das ich dann auch gleiche eine "globale variable setzen kann anhand das makro an mappe 1 weiß welche filtereinstellungen vorher gesetzt waren.
Anzeige
AW: Variable Dateiübergreifend übergeben
25.09.2010 16:30:32
Tino
Hallo,
so wie ich Dich verstanden habe, möchtest Du Daten suchen wo die Zeile ausgeblendet ist.
Ich würde anstatt sich die Filtereinstellung zu merken,
ein verfahren suchen dass auch Werte in ausgeblendeten Zeilen (Zellen) findet.
Aber um da besser helfen zu können, müsste man wissen was Du wo suchen möchtest.
Gruß Tino
AW: Variable Dateiübergreifend übergeben
25.09.2010 19:30:58
alex
das wäre natürlich die perfekte variante. also ganz einfach.Mappe 1 sucht in mappe 2.Tabelle1 eigendlich nur einen namen. z.B. "Salzburg" wenn dieser name gefunden wird muß 2 zeilen neben diesen namen ein datum aus mappe 1 eingetragen werden. funktioniert mit meinem code perfekt so lange der name nicht weggefiltert ist.
Anzeige
AW: Variable Dateiübergreifend übergeben
25.09.2010 19:56:54
Tino
Hallo,
versuch mal diese Variante.
Code steht in Mappe1.xls und Mappe2.xls ist in der gleichen Instanz geöffnet!
Option Explicit

Sub Beispiel()
Dim oWBZiel As Workbook
Dim varRow
Dim strSuchWert As String

'die Mappe zwei in gleicher Instanz! 
Set oWBZiel = Workbooks("Mappe2.xls")
'Suchwert 
strSuchWert = "Salzburg"

'suche auf welcher Tabelle? 
With oWBZiel.Sheets("Tabelle1")
    'Suche in erster Spalte, gib Zeile zurück 
    varRow = Application.Match(strSuchWert, .UsedRange.Columns(1), 0)
    'wurde was gefunden? 
    If IsNumeric(varRow) Then
        'zwei Spalten daneben Datum eintragen 
        .UsedRange.Cells(varRow, 1).Offset(0, 2).Offset = Date
    Else
        MsgBox strSuchWert & " wurde nicht in " & vbCr & _
        .UsedRange.Columns(1).Address(0, 0, external:=True) & vbCr & _
        " gefunden!", vbCritical
    End If
End With

End Sub
Gruß Tino
Anzeige
AW: Variable Dateiübergreifend übergeben
25.09.2010 21:09:56
alex
Ok dank dir Tino. aber kannst du mir das kurz erklären was "IsNumeric()" ist und was Application.Match macht?
IsNumeric prüft wie der Name schon sagt,...
26.09.2010 02:10:38
Luc:-?
…Alex,
einen Ausdruck darauf, ob er numerisch ist, d.h., nur aus Ziffern, Vorzeichen, Dezimaltrennzeichen und ggf auch noch Leerzeichen und uU sogar 1x E oder D besteht (Letztere nur im Zusammenhang mit Ziffern). Dabei kann der Ausdruck auch als Text (String) bzw Variant deklariert sein. Application.Match ist eine mitunter sinnvolle Ersatzschreibweise für Application.WorksheetFunction.Match, hinter dem die engl gleichnamige Tabellenblattfkt VERGLEICH steckt.
Gruß + schöSo allen, Luc :-?
Anzeige
keine Ersatzschreibweise
26.09.2010 07:32:14
Tino
Hallo,
man sollte Application.WorksheetFunction.Match und Application.Match nicht verwechseln.
Ersteres kann keinen Fehler verarbeiten bzw. zurückgeben, dies ist der Fall wenn der Suchbergriff nicht gefunden wird.
Gruß Tino
AW: keine Ersatzschreibweise
26.09.2010 07:57:11
alex
Ok dank euch beiden für die erklärung.
Nur so aus interessen. Ist es trotzdem möglich eine Variable zu festlegen, die alle geöffneten Arbeitsmappen benutzen können?
gruß alex
ist möglich aber recht umständlich
26.09.2010 08:44:50
Tino
Hallo,
mit einem Add-in, dass in die entsprechende Datei(en) über Verweis eingebunden wird,
dafür beim erstellen den Projektnamen des Addins ändern.
In diesem Add-In erstellst Du ein Modul und in diesem deklarierst Du eine Variable.
Diese Variable kannst Du nun überall einsetzen wo dieses Addin eingebunden ist.
Gruß Tino
Anzeige
AW: ist möglich aber recht umständlich
26.09.2010 11:53:43
alex
hast recht ist zu umständlich...
Aber danke nochmal an alle für die Hilfe
Gruß alex
Die können gar nicht verwechselt wdn,...
26.09.2010 18:13:18
Luc:-?
…Tino,
weil es nur eine Fkt Match gibt und das ist nun mal eine WorksheetFunction. Was anderes findest du auch im Projekt­explo­rer nicht! Durch das Weglassen dieser Eigenschaft von Application wird nur ein anderer Zugang zu dieser Fkt (quasi eine Hintertür) benutzt bzw die Endbehandlung duch VBA ist etwas anders, aber das auch nicht mal bei allen Fehlern, bspw #DIV/0!. Auch als Variant deklarierte Variablen erhalten in beiden Fällen keinen F-Wert, können also nicht darauf abge­fragt wdn. Das gelingt nur bei Direktabfrage im (nicht dokumentierten) Fall MsgBox Cstr(Application.fktsname(…)), aber eben auch nicht in allen Situationen. Wenn man sich darauf einstellt, wird man das also kaum brauchen (von ein paar Aus­nahmen ggf abgesehen!), denn immerhin verzichtet man damit ja auf die Intellisense-Unterstützung des VBE, die beson­ders für Anfänger wichtig sein sollte/könnte.
Gruß Luc :-?
Anzeige
kann sein das es nur eine gibt...
26.09.2010 21:06:37
Tino
Hallo,
spätestens wenn der Code mit einem Laufzeitfehler abgebrochen wird,
weiß man das es falsch ist für diese Aufgabe, da hilft auch die Intellisense nicht, ist nun mal so. ;-)
Gruß Tino
AW: kann sein das es nur eine gibt...
26.09.2010 21:18:05
Gerd
Hallo,
dokumentiert ist das nicht. Das unterschiedliche Verhalten spricht eher für zwei Paar Stiefel.
Gruß Gerd
so sehe ich das auch oT.
26.09.2010 21:25:52
Tino
Das ist Blödsinn, weil man das mit (fast)...
26.09.2010 22:05:40
Luc:-?
…allen WorksheetFunctions machen kann. Die Fkt läuft nur mit Application (außer Ausnahmen) wie im TabBlatt, sonst wdn Fehler vorher abgefangen, das ist alles!
Deshalb ist das wohl auch nicht dokumentiert… ;-)
Gruß Luc :-?
u. der Quark mit Deiner Intellisense? ;-) oT.
26.09.2010 22:23:41
Tino
AW: Das ist dein AFAIK, Luc,
26.09.2010 22:40:24
Gerd
aber nicht mehr. :-)
Gruß Gerd
Anzeige
Ab in nicht an die Buddelkiste,...
27.09.2010 07:57:33
Luc:-?
…dann ist euch das (X)XL-Himmelreich… :->
Gruß Luc :-?
Du verstehst es einfach nicht oT. {Ende}
27.09.2010 09:32:32
Tino
...Dann sag's so, dass...! owT
27.09.2010 19:26:04
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige