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

Sheet aus einer anderen Mappe heraus öffnen

Sheet aus einer anderen Mappe heraus öffnen
30.08.2015 15:10:49
Luna
Hola liebe Forum Gemeinde. Eine Frage habe ich noch. Mit folgendem Makro suche ich nach einem bestimmten Sheet in einem bestimmten Workbook. In E6 ist der Name des Books und in E7 die Nummer des Projekts(Tabelle). Existiert der Sheet nicht erscheint "Projekt existiert nicht". Meine Frage ist, kann man das Makro so ändern das ich auf den Namen der Mappe verzichten kann und es mir alle Mappen die in diesem Ordner liegen automatisch durchsucht und dann öffnet? Der Name der Tabelle ist immer eine 4stellige Nummer und wie gesagt es handelt sich nur um die Mappen die in demselben Ordner liegen wie die Startmappe in der das Makro ausgeführt wird.
Sub WorkbookKlientOpen()
Dim WB As Workbook
Dim strDatei As String
Dim strSheet As String
On Error GoTo fehler
strDatei = Dir("C:\Versuche\*" & Format(Range("E6"), "0000") & "*.xlsm")
strSheet = Format(Range("E7"), "0000")
If strDatei  "" Then
Set WB = Workbooks.Open("C:\Versuche\" & strDatei)
WB.Worksheets(strSheet).Select
End If
Exit Sub
fehler:
MsgBox "¡Proyecto no existe!"
End Sub
Danke schon mal wie immer für die tolle Hilfe hier. Ohne euch wäre ich bei meinen Spielereien total aufgeschmissen.
Luna

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

Betreff
Datum
Anwender
Anzeige
AW: Sheet aus einer anderen Mappe heraus öffnen
30.08.2015 15:23:42
Sepp
Hallo Luna,
ungetestet!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub WorkbookKlientOpen()
Dim WB As Workbook
Dim strFile As String, strPath As String, strSheet As String
Dim vntSheets As Variant

On Error GoTo ErrExit

strSheet = Format(Range("E7"), "0000")

strPath = "C:\Versuche\"

If Right(strPath, 1) <> "\" Then strPath = strPath & "\"

strFile = Dir(strPath & "*.xls*", vbNormal)

Do While strFile <> ""
  
  vntSheets = GetSheetNames(strPath & strFile)
  
  If IsNumeric(Application.Match(strSheet, vntSheets, 0)) Then
    Set WB = Workbooks.Open(strPath & strFile)
    WB.Worksheets(strSheet).Select
    Exit Sub
  End If
  
  strFile = Dir
Loop

ErrExit:

MsgBox "¡Proyecto no existe!"

End Sub


Private Function GetSheetNames(ByVal FileName As String) As Variant
'original by Bob Phillips, adapted by j.ehrensberger
Dim objADO As Object, objCAT As Object, objTAB As Object
Dim lngI As Long, intL As Integer, intP As Integer, intS As Integer
Dim strCon As String, strTab As String
Dim vntTmp() As Variant

If Mid(FileName, InStrRev(FileName, ".") + 1) = "xls" Then
  strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Extended Properties=Excel 8.0;" & _
    "Data Source=" & FileName & ";"
ElseIf Mid(FileName, InStrRev(FileName, ".") + 1) Like "xls?" Then
  strCon = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Extended Properties=""Excel 12.0;HDR=YES"";" _
    & "Data Source=" & FileName & ";"
Else
  Exit Function
End If

Set objADO = CreateObject("ADODB.Connection")
objADO.Open strCon
Set objCAT = CreateObject("ADOX.Catalog")
Set objCAT.ActiveConnection = objADO

For Each objTAB In objCAT.Tables
  strTab = objTAB.Name
  intL = Len(strTab)
  intP = 0
  intS = 1
  'Worksheet name with embedded spaces enclosed by single quotes
  If Left(strTab, 1) = "'" And Right(strTab, 1) = "'" Then
    intP = 1
    intS = 2
  End If
  'Worksheet names always end in the "$" character
  If Mid$(strTab, intL - intP, 1) = "$" Then
    Redim Preserve vntTmp(lngI)
    vntTmp(lngI) = Mid$(strTab, intS, intL - (intS + intP))
    lngI = lngI + 1
  End If
Next objTAB

If lngI > 0 Then GetSheetNames = vntTmp

objADO.Close
Set objCAT = Nothing
Set objADO = Nothing
End Function


Gruß Sepp

Anzeige
Werte von einer Mappe in eine andere Mappe kopiere
30.08.2015 15:46:05
einer
Hola Sepp, ich habe keine Ahnung wie ihr hier im Forum das immer so schnell hinbekommt. So schnell kann ich nicht mal meine Frage formulieren.
Ich kann nur sagen, excelente.
Muchas gracias y Pura Vida de Costa Rica
Luna

65 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige