Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Makro mit ODER Befehl
Mine
Hallöchen Ihr lieben Excler,
in dem anhängigen Makro bitte ich darum, das mir jemand mal den Befehle mit einbringt, das die Werte nicht nur aus dem Tabellenblatt "Sheet tomo" ausgelesen werden, sondern auch aus einem weiteren Tabellenblatt "Sheet all". Kann mir da jemand helfen?
Wie auch immer, ein großer Dank ist dabei.
Gruß Mine
https://www.herber.de/bbs/user/71357.doc

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
was sollen wir mit .doc?
02.09.2010 13:20:59
Rudi
Hallo,
deine Mappe nachbauen oder was?
Gruß
Rudi
AW: was sollen wir mit .doc?
02.09.2010 13:31:34
Mine
Lieber Rudi,
bitte Grande. Ich habe vielleicht nicht das Geschick eine fachgerechte Frage ans Forum zu stellen.
Das mitgeschickte Makro erfüllt den Auftrag aus einer bestimmten Datei mit dem Tabellennamen " Sheet tomo" Werte auszulesen. Meine Bitte ist den Auftrag um einen Befehl so zu erweitern, das außerdem auch das Tabellenblatt mit dem Namen "Sheet all" ausgelesen wird. Sicher hätte ich nicht das ganze Makro schicken müssen, aber ...
Wenn Du so denkst wie Du geantwortet hast, ziehe ich meine Anfrage auch wieder zurück.
Gruß Mine
Anzeige
AW: Makro mit ODER Befehl
02.09.2010 15:01:30
Peter
Hallo Mine,
versuch es so:
Option Explicit
Sub GunTest()
Dim strFile As String, lngIndex As Long, lngC As Long, lngCol As Long
Dim strRef  As Variant
Dim vBlatt  As Variant
Dim iIndx   As Integer
'# ANPASSEN #
Const cstrPath As String = "D:\Alex\Gun Test" 'Verzeichnis
'Const cstrTab As String = "Sheet_tomo" 'Tabellenname
strRef = Array("B4", "B5", "B2", "B1", "I1", "B3", "B9", "B10", "F9", "F11", "I11", "F13", "I17", "D16", "E16", "I20") 'Zelladressen
'############
vBlatt = Array("sheet_tomo", "sheet_all")
For iIndx = LBound(vBlatt) To UBound(vBlatt)
For lngC = 0 To UBound(strRef)
  lngIndex = 0
  lngCol = lngCol + 1
  Do
    strFile = "1" & IIf(lngIndex > 0, " (" & CStr(lngIndex) & ")", "") & ".xls"
    If Dir(cstrPath & IIf(Right(cstrPath, 1) <> "\", "\", "") & strFile) <> "" Then
      Cells(lngIndex + 2, lngCol).Formula = "='" & cstrPath & IIf(Right(cstrPath, 1) "\", "\[", "[") & _
strFile & "]" & vBlatt(iIndx) & "'!" & strRef(lngC)
    Else
      Exit Do
    End If
    lngIndex = lngIndex + 1
  Loop
Next lngC
Next iIndx
End Sub
Gruß Peter
Testen geht wegen fehlender Mustermappe nicht!
Anzeige
AW: Makro mit ODER Befehl
02.09.2010 15:26:30
Mine
Lieber Peter,
das ist aber nett mit noch zu antworten. Vielen, vielen Dank. Leider kann ich nicht gleich testen, weil ich nicht an meinen PC bin und erst heute am Abend kann ich prüfen. Vielleicht schaust Du noch mal mir, natürlich wenn es Dir passt und Du das möchtest.
Herzlichen Dank! Mine
Makro mit ODER Befehl NEU
02.09.2010 21:30:22
Mine
Liebe Excler und lieber Peter,
ich hatte heute schon einmal meine Frage gestartet. Es hat nicht ganz geklappt. Peters Makro versucht in einer Datei zwei Tabellenblätter zu finden. Ich habe versucht im Makro meine Bitte zu formulieren.
Wäre schön, wenn ich die Frage fachlich verständlich stellen konnte. Im voraus vielen Dank! Gruß Mine
https://www.herber.de/bbs/user/71369.doc
https://www.herber.de/bbs/user/71370.xls
https://www.herber.de/bbs/user/71371.xls
https://www.herber.de/bbs/user/71372.xls
https://www.herber.de/bbs/user/71373.xls
Anzeige
AW: Makro mit ODER Befehl NEU
02.09.2010 22:00:56
Peter
Hallo Mine,
in Deiner ersten Anfrage hießen die Blätter noch ganz anders und auch die Zellen waren ganz andere - aber sei es drum:
Hier mein Vorschlag:
Option Explicit
Public Sub GunTest()
Dim strFile   As String
Dim lngIndex  As Long
Dim lngC      As Long
Dim lngCol    As Long
Dim strRef    As Variant
Dim vBlatt    As Variant
Dim iIndx     As Integer
'# ANPASSEN #
Const cstrPath As String = "D:\Alex\Gun Test" 'Verzeichnis
'Const cstrTab As String = "Sheet_tomo" 'Tabellenname
   strRef = Array("A1", "B1", "C1", "D1") 'Zelladressen
'############
   vBlatt = Array("Test1", "Test2")
   For iIndx = LBound(vBlatt) To UBound(vBlatt)
      For lngC = 0 To UBound(strRef)
         lngIndex = 0
         lngCol = lngCol + 1
         Do
            strFile = "1" & IIf(lngIndex > 0, " (" & CStr(lngIndex) & ")", "") & ".xls"
            If Dir(cstrPath & IIf(Right(cstrPath, 1) <> "\", "\", "") & strFile) <> "" Then
               Cells(lngIndex + 2, lngCol).Formula = _
                  "='" & cstrPath & IIf(Right(cstrPath, 1) "\", "\[", "[") & _
strFile & "]" & vBlatt(iIndx) & "'!" & strRef(lngC)
             Else
               Exit Do
            End If
            lngIndex = lngIndex + 1
         Loop
      Next lngC
   Next iIndx
End Sub
Gruß Peter
Anzeige
Makro mit ODER Befehl NEU
02.09.2010 22:18:38
Mine
Lieber Peter, es klappt nicht. Das Makro sucht in jeder Datei ein Tabellenblatt Test1 und Test2. Wenn er ein Tabellenblatt gefunden hat, muss er aber in die nächste Datei. Nie gibt es in einer Datei beide Tabellennamen. Er ist mein Makro. Gruß Mine

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige