Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bestimmen, in welchem Sheet das Makro läuft

Bestimmen, in welchem Sheet das Makro läuft
25.09.2006 09:51:16
Peter
Bestimmen, in welchem Sheet das Makro läuft ...
... ohne dieses anzuwählen
Guten Tag
Für Profis wohl eine einfache Frage:
Kann ich definieren, dass nachfolgendes Makro die Einträge im Sheet "Import" vornehmen soll, ohne dass das Sheet angewählt wird? Oder müssten noch andere Teile des Codes umgestellt werden?
Danke für Feedback.
Peter
Sub DatenEintragen()
ThisWorkbook.Activate
Dim Bereich As Range, Feld As Range
Dim QArea As Range, QCell As Range
Dim p$, f$, r$, n%, s$, m%, zeile$
Dim Anzahl$
Dim aktSheet$
aktSheet = ActiveSheet.Name
s = "Export"
n = Cells(65536, 1).End(xlUp).Row 'ermittelt letzten Eintrag in Spalte A (Pfad)
m = Cells(2, 256).End(xlToLeft).Column 'ermittelt letzten Eintrag in Zeile 2 (Ref zu Import)
r = Range("E2") 'legt ersten Eintrag in Zeile 2 fest (Ref zu Import)
Set Bereich = Range("A4:A" & n) 'Bereich = alle Zellen mit Pfadangabe
Set QArea = Range(Cells(2, 5), Cells(2, m)) 'Bereich E2 : ?2 = alle Zellen mit Ref Angabe zu Import
Anzahl = 0
For Each Feld In Bereich
p = Feld.Value
f = Feld.Offset(0, 1)
zeile = Feld.Offset(0, 2)
Debug.Print zeile
For Each QCell In QArea
r = QCell.Value & zeile
Debug.Print r
Cells(Feld.Row, QCell.Column) = getvalue(p, f, s, r)
Application.StatusBar = "Daten werden importiert aus " & p & f & " - Eintrag in Zeile " & Anzahl + 4
Next
Anzahl = Anzahl + 1
Next
End With
End Sub

Private Function getvalue(path, File, sheet, ref)
'retrieves a value from a closed workbook
Dim arg As String
'make sure the file exists
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & File) = "" Then
getvalue = "File not found"
Exit Function
End If
'create the argument
arg = "'" & path & "[" & File & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
Debug.Print arg
'execute an xlm macro
getvalue = ExecuteExcel4Macro(arg)
End Function

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmen, in welchem Sheet das Makro läuft
25.09.2006 10:23:49
haw
Hallo Peter,
z.B. so:

Sub Referenz()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Test")
ws.Range("A1").Value = "Test"
'usw.
'd.h. jede Referenz muss auf die Tabelle Bezug nehmen, also ws voranstellen
End Sub

Gruß
Heinz
AW: Bestimmen, in welchem Sheet das Makro läuft
25.09.2006 10:43:23
Peter
Hallo Heinz
Vielen Dank!
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige