Thema Datum  Von Nutzer Rating
Antwort
Rot Ergänzung eines Makros
16.01.2014 09:51:37 Franky
NotSolved

Ansicht des Beitrags:
Von:
Franky
Datum:
16.01.2014 09:51:37
Views:
1421
Rating: Antwort:
  Ja
Thema:
Ergänzung eines Makros

Hi,

ich würde gerne ein Makro erweiter und hänge an einem Punkt fest.

Ich benutze folgenden Code:

 

Sub extractData()
Dim wkb As Workbook
Dim i&, j As Integer
Dim strErg As String
Dim strDate As String
Dim vntDat As Variant, vntMA As Variant
Dim c As Range
Dim blnret As Boolean
Dim intspalte As Integer
Dim strPfad As String

strPfad = "C:\Users\Home\Desktop\Dienstpläne\"   ' anpassen



datum = InputBox("Bitte Datum prüfen", "Datumseingabe", Format(Date, "ddd dd.mm."))
   
strDate = datum

vntDat = Array("Dienstplan KW51-52 SchichtI.xlsx", "Dienstplan KW51-52 SchichtII.xlsx")

For i = 0 To 1
 If isopenWKB(vntDat(i)) Then
   Set wkb = Workbooks(vntDat(i))
 Else
   Set wkb = Workbooks.Open(strPfad & vntDat(i))
 End If
  
 With wkb.Worksheets(1).UsedRange
  vntMA = .Value
  Set c = .Rows(1).Find(what:=strDate, LookIn:=xlValues, lookat:=xlWhole)
   If Not c Is Nothing Then
    intspalte = IIf(c.Column < 10, 10, 17)
      
      
      For j = 1 To UBound(vntMA, 1)
        If vntMA(j, c.Column) = "F-2" Then strErg = strErg & "," & j
      Next
      
      
      If Len(strErg) Then
       strErg = Mid(strErg, 2)
        With ThisWorkbook.Worksheets(1)
          .Cells.ClearContents
       For j = 0 To UBound(Split(strErg, ","))
         .Cells(j + 1, 1) = vntMA(Split(strErg, ",")(j), 1)
         .Cells(j + 1, 2) = vntMA(Split(strErg, ",")(j), 2) 'spalte B
        '.Cells(j + 1, 1) = vntMA(Split(strErg, ",")(j), 3) 'Spalte C
         .Cells(j + 1, 3) = "F-2"
         .Cells(j + 1, 4) = vntMA(Split(strErg, ",")(j), intspalte)
        Next
        End With
       blnret = True
      End If
   End If
  End With
  
  wkb.Close False
  Set wkb = Nothing
  
  If blnret Then Exit Sub
 Next
End Sub


Dieses Makro sucht in 2 Dateien (Dienstplänen) nach einer Spalte und zwar diese Spalte, die den Wert "F-2" enthält und ein bestimmtes Datum als Überschrift hat. In beiden Datein gibt es z.B. den 16.01., ich will aber nur die Spalte aus der Datei in der F-2 häufig in derSpalte eingetragen ist. Dies funktioniert auch.

Wie müsste ich das Makro ergänzen, dass genau aus dieser Spalte mit dem bestimmten Datum und dem häufig auftretendem Wert "F-2", auch die Werte "W-E" und "F-0" übernommen werden? 

Muss zwingend aus dieser Spalte kopiert werden. Werte kommen allerdings auch in der anderen Datein mit der Überschrift (z.B. 16.01.) vor!

Vielen Dank für etwaige Hilfe.

Gruß

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Ergänzung eines Makros
16.01.2014 09:51:37 Franky
NotSolved