Thema Datum  Von Nutzer Rating
Antwort
28.11.2015 13:36:39 Maximilian
Solved
28.11.2015 14:13:55 Gast74077
*****
NotSolved
28.11.2015 14:57:50 Gast49930
NotSolved
28.11.2015 14:59:44 Gast2329
NotSolved
28.11.2015 16:55:36 Gast78676
*****
NotSolved
29.11.2015 11:49:09 Gast72217
NotSolved
29.11.2015 12:30:42 Gast31614
NotSolved
29.11.2015 12:47:43 Maximilian
NotSolved
29.11.2015 12:24:02 Gast88400
NotSolved
29.11.2015 13:38:04 Gast18527
*****
NotSolved
Rot Formeln kopieren
29.11.2015 17:30:01 Maximilian
NotSolved
29.11.2015 21:29:21 Gast12175
NotSolved
29.11.2015 22:48:29 Maximilian
NotSolved
30.11.2015 14:05:39 Gast68203
Solved

Ansicht des Beitrags:
Von:
Maximilian
Datum:
29.11.2015 17:30:01
Views:
948
Rating: Antwort:
  Ja
Thema:
Formeln kopieren

Hi Matthias,

hat leider nicht geklappt. Nun schaut mein Code folgendermaßen aus.

Sub Spread_CalcExp()
 'Open Files
   
    Dim Source As String
    Dim StrFile As String
    Const csPath As String = "C:\Users\Maximilian\Documents\Studium\Bachelor Arbeit\Data\Aggr_Orders_Match\"
    Dim i As Integer
    Dim j As Integer
    Dim objRange As Range
    Dim Spalte As Integer
    Dim Ausgang As String
    Dim Tab2 As Integer
    Dim Formel As Integer
    
    
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
      
    'do not forget last backslash in source directory.
    Source = "C:\Users\Maximilian\Documents\Studium\Bachelor Arbeit\Data\"
    StrFile = Dir(Source)
     
    'die Datei aus der das Makro startet und die Werte eingetragen werden
    Ausgang = "Order_Spread_Export.xlsm"
 
    Do While Len(StrFile) > 0
     
    'sucht die aktuelle Spalte in der Ausgangsdatei
    Spalte = Workbooks(Ausgang).Worksheets(1).Cells(1, Columns.Count).End(xlToLeft).Column
     
    'öfnet die erste Datei
    Workbooks.Open Filename:=Source & StrFile
     
    ' Prozedur Spread Start
      
    Sheets.Add After:=ActiveSheet
    'einfügen der Formel, ggf. könnte man das auch mit for und einem Code durch alle 6601 durchlaufen, könnte aber länge dauern
    Tab2 = Workbooks(StrFile).Worksheets(2).Name
    Formel = "=(" & Tab2 & "!B2-" & Tab2 & "!C2)/Average(" & Tab2 & "!B2;" & Tab2 & "!C2)"
    'Range für A2 bs A6601 festlegen
    Set objRange = Workbooks(StrFile).Worksheets(3).Range("A2:A6601")    'Cells(11, 6).Resize(zeilen - 11, 1) 'Bereichlänge anpassen....
        'Formel einfügen
    
        objRange.FormulaLocal = Formel
      
    Set objRange = Nothing
     
    Workbooks(StrFile).Worksheets(3).Range("A1").Value = "Relative Spread" 'Einfügen einer Überschrift
    ' die Formatierungen
    Workbooks(StrFile).Worksheets(3).Range("A:A").Style = "Percent"
    Workbooks(StrFile).Worksheets(3).Range("A:A").NumberFormat = "0.0000%"
    
  ' Prozedur Spread Ende
      
    'Ab hier soll die Range("A:A") in das Workbook("Order_Spread_Export") in Sheet1 in die nächste leere Spalte kopiert werden.
    ' Danach soll sich dass Variable Sheet schließen und ein neues Sheet bearbeitet werden
    Workbooks(StrFile).Worksheets(3).Range("A:A").Copy
    'Odner Order_Spread_Export.xls aktivieren und dann die Werte einfügen
    Workbooks(Ausgang).Activate
    'jetzt einfügen, letzter Wert war in Spalte deshalb Spalte +1
    Workbooks(Ausgang).Worksheets(1).Columns(Spalte + 1).PasteSpecial (xlPasteValues)
     
    Workbooks(StrFile).Close savechanges:=True
      
    ' nächste Datei holen
    StrFile = Dir()
          
    Loop
      
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Es erscheint die Error Message:

Type mismatch

Vielen Dank!

 

 


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
28.11.2015 13:36:39 Maximilian
Solved
28.11.2015 14:13:55 Gast74077
*****
NotSolved
28.11.2015 14:57:50 Gast49930
NotSolved
28.11.2015 14:59:44 Gast2329
NotSolved
28.11.2015 16:55:36 Gast78676
*****
NotSolved
29.11.2015 11:49:09 Gast72217
NotSolved
29.11.2015 12:30:42 Gast31614
NotSolved
29.11.2015 12:47:43 Maximilian
NotSolved
29.11.2015 12:24:02 Gast88400
NotSolved
29.11.2015 13:38:04 Gast18527
*****
NotSolved
Rot Formeln kopieren
29.11.2015 17:30:01 Maximilian
NotSolved
29.11.2015 21:29:21 Gast12175
NotSolved
29.11.2015 22:48:29 Maximilian
NotSolved
30.11.2015 14:05:39 Gast68203
Solved