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

Probleme mit "Application.ScreenUpdating = False"

Probleme mit "Application.ScreenUpdating = False"
23.08.2017 13:14:52
cH_rI_sI
Hallo liebe Experten,
ich habe wieder einmal ein Problem wo ich einfach nicht weiterkomme - ich exportiere vom SAP Daten in eine temporäre Arbeitsmappe und kopiere die Daten dann in meine Arbeitsmappe - dies mache ich mit einigen Transaktionen (der Code ist im Prinzip immer der selbe) - wenn ich ScreenUpdating ausschalte, kopiert Excel immer wieder die Daten von der ersten temporären Arbeitsmappe, trotzdem bei jeder Transaktion ein Export erfolgt?!? Ich habe auch schon die temporäre Datei jedes mal mit KILL gelöscht, aber trotzdem wird immer der selbe Inhalt kopiert...
Wenn ich das ScreenUpdating wieder einschalte, funktioniert alles - aber warum?
Anbei der Code:
Sub UPDATE()
Dim WS1, WS2 As Worksheet
Set WS10 = ActiveWorkbook.Worksheets("Overview")
Set WS20 = ActiveWorkbook.Worksheets("Constant's for VBA")
Application.ScreenUpdating = False
WS20.Visible = True
With WS10
If Range("Period_Start") = "" Then
MsgBox ("Begin of period missing")
Exit Sub
Else
If Range("Period_End") = "" Then
MsgBox ("End of period missing")
Exit Sub
Else
If Range("Supplier") = "" Then
MsgBox ("Vendor number missing")
Exit Sub
End If
End If
End If
End With
Call Vendor
If Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column)  "" Then
Call Active_Materials
Call Delivered_Materials
Call Complaint_Management
Call Scrap
Call VR_Targets
Call PPM
Call CTQ
Call ECR
Call SF
Call ISR
Call RONs
Call VR
With WS10
.Activate
.Range("Last_Update").Activate
.Range("Last_Update") = Format(Now, "yyyy.mm.dd hh:mm:ss")
End With
End If
If IsWorkbookOpen("temp.xls") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
WS20.Visible = False
Set WS10 = Nothing
Set WS20 = Nothing
Application.ScreenUpdating = True
End Sub
Function IsWorkbookOpen(strWB As String) As Boolean
On Error Resume Next
IsWorkbookOpen = Not Workbooks(strWB) Is Nothing
End Function
Sub Vendor()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Vendor master")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If WS1.Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column), Cells( _
letzte_Zeile, Range("Vendor_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_LIEFERANT"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00013-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00021-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column).Activate
.Paste
.Range("Vendor_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of Vendor master successful!")
Else
MsgBox ("Vendor does not exist!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub Active_Materials()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Active Materials")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("Active_Beginn").Row + 1, Range("Active_Beginn").Column + 1)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Active_Beginn").Row + 1, Range("Active_Beginn").Column), Cells( _
letzte_Zeile, Range("Active_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ME2L"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtEL_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtEL_EKORG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtLISTU").Text = ""
session.findById("wnd[0]/usr/ctxtSELPA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_BSART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_EKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_PSTYP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_KNTTP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_EINDT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtP_GULDT").Text = ""
session.findById("wnd[0]/usr/ctxtP_RWEIT").Text = ""
session.findById("wnd[0]/usr/ctxtS_EBELN-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATKL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_BEDAT-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_EAN11-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_IDNLF-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_LTSNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AKTNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_SAISO-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_SAISJ-LOW").Text = ""
session.findById("wnd[0]/usr/txtP_TXZ01").Text = ""
session.findById("wnd[0]/usr/txtP_NAME1").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtEL_LIFNR-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtEL_EKORG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtLISTU").Text = "BEST"
session.findById("wnd[0]/usr/ctxtSELPA-LOW").Text = "OFFEN"
session.findById("wnd[0]/usr/ctxtS_BSART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_EKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_PSTYP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_KNTTP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_EINDT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtP_GULDT").Text = ""
session.findById("wnd[0]/usr/ctxtP_RWEIT").Text = ""
session.findById("wnd[0]/usr/ctxtS_EBELN-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATKL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_BEDAT-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_EAN11-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_IDNLF-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_LTSNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AKTNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_SAISO-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_SAISJ-LOW").Text = ""
session.findById("wnd[0]/usr/txtP_TXZ01").Text = ""
session.findById("wnd[0]/usr/txtP_NAME1").Text = ""
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/tbar[1]/btn[33]").press
If Err.Number = 0 Then
On Error Resume Next
session.findById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/ _
shellcont/shell").currentCellRow = 2
If Err.Number = 0 Then
session.findById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/ _
shellcont/shell").selectedRows = "2"
session.findById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/ _
shellcont/shell").clickCurrentCell
session.findById("wnd[0]/tbar[1]/btn[43]").press
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("Active_Beginn").Row + 1, Range("Active_Beginn").Column).Activate
.Paste
.Range("Active_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of Active materials successful!")
Else
'MsgBox ("No active materials available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Else
'MsgBox ("No active materials available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub Delivered_Materials()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Delivered materials")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("Delivered_Beginn").Row + 1, Range("Delivered_Beginn").Column + 2)  ""  _
Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Delivered_Beginn").Row + 1, Range("Delivered_Beginn").Column), Cells( _
letzte_Zeile, Range("Delivered_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "QA33"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtQL_SELID").Text = ""
session.findById("wnd[0]/usr/ctxtQL_ENSTD-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").Text = ""
session.findById("wnd[0]/usr/ctxtQL_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_HERKT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_CHARG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_HERST-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_KUNNR-LOW").Text = ""
session.findById("wnd[0]/usr/txtQL_MAX_R").Text = ""
session.findById("wnd[0]/usr/txtSO_ZZPCH-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtQL_ENSTD-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").Text = "9999.12.31"
'session.findById("wnd[0]/usr/ctxtQL_WERKS-LOW").Text = ""
'session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = ""
'session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").SetFocus
'session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").caretPosition = 10
session.findById("wnd[0]/usr/btn%_QL_WERKS_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").Text = "0210"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").Text = "0295"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").Text = "0299"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/usr/ctxtQL_HERKT-LOW").Text = "01"
session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtVARIANT").Text = "/STANDARD"
session.findById("wnd[0]/usr/ctxtVARIANT").SetFocus
session.findById("wnd[0]/usr/ctxtVARIANT").caretPosition = 9
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/tbar[1]/btn[47]").press
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
If Range("C2")  "" Then
data = 1
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End If
End With
If data = 1 Then
With WS1
.Activate
.Cells(Range("Delivered_Beginn").Row + 1, Range("Delivered_Beginn").Column). _
Activate
.Paste
.Range("Delivered_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
End If
If data  1 Then
'MsgBox ("No delivered materials available!")
End If
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of Delivered materials successful!")
Else
'MsgBox ("No delivered materials available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub Complaint_Management()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Complaint Management")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("REKLI_Beginn").Row + 1, Range("REKLI_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("REKLI_Beginn").Row + 1, Range("REKLI_Beginn").Column), Cells( _
letzte_Zeile, Range("REKLI_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZQM_REKLI"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
'session.findById("wnd[0]/usr/ctxtP_KOKRS").Text = "0210"
session.findById("wnd[0]/usr/ctxtS_EKORG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AUART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AUFNR-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_AUFST-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMNUM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_STRMN-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_TRSTA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_BKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MTART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATKL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_REFNUM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_SF_TYP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_SF_KAT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMCOD-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_Z2PAR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_UPROZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_WWERT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMATA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_REGGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ZZQEK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ZZLQEK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ZCOMM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ADAT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMEND-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_8DREP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_3DREP-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_8DULAZ-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_3DULAZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_DATEN-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_DATEA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_DATKB-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_KOSTQ-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_KOSTB-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_KOSTW-LOW").Text = ""
session.findById("wnd[0]/usr/txtP_GJV").Text = ""
session.findById("wnd[0]/usr/txtP_PEV").Text = ""
session.findById("wnd[0]/usr/txtP_GJB").Text = ""
session.findById("wnd[0]/usr/txtP_PEB").Text = ""
session.findById("wnd[0]/usr/ctxtS_KS02-LOW").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtP_KOKRS").Text = "0210"
'session.findById("wnd[0]/usr/ctxtP_KOKRS").SetFocus
'session.findById("wnd[0]/usr/ctxtP_KOKRS").caretPosition = 4
session.findById("wnd[0]/usr/btn%_S_WERKS_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV").Select
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,0]").Text = "0200"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,1]").Text = "0201"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").Text = "0220"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").caretPosition = 4
session.findById("wnd[1]").sendVKey 8
session.findById("wnd[0]/usr/ctxtS_QMART-LOW").Text = "QE"
session.findById("wnd[0]/usr/ctxtS_STRMN-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD") 'Datum variabel halten
session.findById("wnd[0]/usr/ctxtS_STRMN-HIGH").Text = "9999.12.31"
'session.findById("wnd[0]/usr/ctxtS_STRMN-HIGH").SetFocus
'session.findById("wnd[0]/usr/ctxtS_STRMN-HIGH").caretPosition = 10
session.findById("wnd[0]/usr/btn%_S_TRSTA_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV").Select
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,0]").Text = "6"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,1]").Text = "7"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").Text = "12"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").caretPosition = 2
session.findById("wnd[1]/tbar[0]/btn[8]").press
'session.findById("wnd[0]/usr/btn%_S_ZZLQEK_%_APP_%-VALU_PUSH").press
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV").Select
'WS2.Range("BU").Copy 'Range der auszuschließenden BU-Mitarbeiter von ISR kopieren
'session.findById("wnd[1]/tbar[0]/btn[24]").press
'session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/usr/ctxtS_LIFNR-LOW").Text = WS3.Range("Supplier")
'session.findById("wnd[0]/usr/ctxtS_QMEND-LOW").Text = Format(WS2.Range("REKLI2_Start"), "YYYY. _
MM.DD") 'Datum variabel halten
'session.findById("wnd[0]/usr/ctxtS_QMEND-LOW").SetFocus
'session.findById("wnd[0]/usr/ctxtS_QMEND-LOW").caretPosition = 6
'session.findById("wnd[0]").sendVKey 2
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").setCurrentCell 4, "TEXT"
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").selectedRows = "4"
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").doubleClickCurrentCell
'session.findById("wnd[0]/usr/ctxtS_8DREP-LOW").SetFocus
'session.findById("wnd[0]/usr/ctxtS_8DREP-LOW").caretPosition = 0
'session.findById("wnd[0]").sendVKey 2
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").currentCellColumn = "TEXT"
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").doubleClickCurrentCell
session.findById("wnd[0]/usr/ctxtVARIANT").Text = "/Audit"
'session.findById("wnd[0]/usr/ctxtVARIANT").SetFocus
'session.findById("wnd[0]/usr/ctxtVARIANT").caretPosition = 8
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
'session.findById("wnd[0]/mbar/menu[0]/menu[1]/menu[1]").Select
session.findById("wnd[0]/usr/cntlMY_CONTROL_AREA/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlMY_CONTROL_AREA/shellcont/shell").selectContextMenuItem "& _
XXL"
'session.findById("wnd[1]/usr/radRB_OTHERS").SetFocus
'session.findById("wnd[1]/usr/radRB_OTHERS").Select
'session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
If Range("C2")  "" Then
data = 1
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End If
End With
If data = 1 Then
With WS1
.Activate
.Cells(Range("REKLI_Beginn").Row + 1, Range("REKLI_Beginn").Column).Activate
.Paste
.Range("REKLI_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
End If
If data  1 Then
'MsgBox ("No complaints available!")
End If
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of Complaint Management successful!")
Else
'MsgBox ("No complaints available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub Scrap()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Collective scrap")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("Scrap_Beginn").Row + 1, Range("Scrap_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Scrap_Beginn").Row + 1, Range("Scrap_Beginn").Column), Cells( _
letzte_Zeile, Range("Scrap_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_MS"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00005-HIGH").Text = ""
session.findById("wnd[0]/usr/txtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00008-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00009-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00010-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00011-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00013-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00014-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00015-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00016-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00017-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00018-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00019-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = "MS"
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtSP$00005-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtSP$00005-HIGH").Text = "9999.12.31"
session.findById("wnd[0]/usr/ctxtSP$00010-LOW").Text = "EN"
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = "/STANDARD"
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("Scrap_Beginn").Row + 1, Range("Scrap_Beginn").Column).Activate
.Paste
.Range("Scrap_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of Collective scrap successful!")
Else
'MsgBox ("No collective scrap available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub PPM()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("PPM")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("PPM_Beginn").Row + 1, Range("PPM_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("PPM_Beginn").Row + 1, Range("PPM_Beginn").Column), Cells(letzte_Zeile,  _
Range("PPM_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_SQ-BSC_S968-BSC"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/txtP%Z_0001").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00010-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00015-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00001-HIGH").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00008-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00009-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00011-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/txtP%Z_0001").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00010-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00015-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00001-LOW").Text = WS2.Range("PPM_Startdate")
session.findById("wnd[0]/usr/txtSP$00001-HIGH").Text = "9999.12"
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/txtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00008-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00009-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00011-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
session.findById("wnd[0]/usr/btn%_SP$00007_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").Text = "0210"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").Text = "0295"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").Text = "0299"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("PPM_Beginn").Row + 1, Range("PPM_Beginn").Column).Activate
.Paste
.Range("PPM_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of PPM successful!")
Else
'MsgBox ("No PPM data available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub CTQ()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("CTQ")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("CTQ_Beginn").Row + 1, Range("CTQ_Beginn").Column + 2)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("CTQ_Beginn").Row + 1, Range("CTQ_Beginn").Column), Cells(letzte_Zeile,  _
Range("CTQ_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "QA33"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtQL_SELID").Text = ""
session.findById("wnd[0]/usr/ctxtQL_ENSTD-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").Text = ""
session.findById("wnd[0]/usr/ctxtQL_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_HERKT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_CHARG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_HERST-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_KUNNR-LOW").Text = ""
session.findById("wnd[0]/usr/txtQL_MAX_R").Text = ""
session.findById("wnd[0]/usr/txtSO_ZZPCH-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtQL_ENSTD-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").Text = "9999.12.31"
'session.findById("wnd[0]/usr/ctxtQL_WERKS-LOW").Text = ""
'session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = ""
'session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").SetFocus
'session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").caretPosition = 10
session.findById("wnd[0]/usr/btn%_QL_WERKS_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").Text = "0210"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").Text = "0295"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").Text = "0299"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[16]").press
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/cntlSUB_CONTAINER/shellcont/shellcont/shell/shellcont[1]/shell").expandNode "          1"
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/cntlSUB_CONTAINER/shellcont/shellcont/shell/shellcont[1]/shell").selectNode "          4"
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/cntlSUB_CONTAINER/shellcont/shellcont/shell/shellcont[1]/shell").topNode = "          1"
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/cntlSUB_CONTAINER/shellcont/shellcont/shell/shellcont[1]/shell").doubleClickNode "          4"
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/ssubSUBSCREEN_CONTAINER:SAPLSSEL:1106/ctxt%%DYN001-LOW").Text = "07CTQ"
'session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/ssubSUBSCREEN_CONTAINER:SAPLSSEL:1106/ctxt%%DYN001-LOW").SetFocus
'session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/ssubSUBSCREEN_CONTAINER:SAPLSSEL:1106/ctxt%%DYN001-LOW").caretPosition = 5
'session.findById("wnd[0]").sendVKey 0
With Sheets("Delivered materials")
.Activate
If Range("E2")  "" Then
.Range("E2").Activate
.Range("E2", ActiveCell.End(xlDown)).Copy
End If
End With
If data = 1 Then
session.findById("wnd[0]/usr/btn%_QL_MATNR_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
'session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtVARIANT").Text = "/STANDARD"
session.findById("wnd[0]/usr/ctxtVARIANT").SetFocus
session.findById("wnd[0]/usr/ctxtVARIANT").caretPosition = 9
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/tbar[1]/btn[47]").press
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
If Range("C2")  "" Then
data = 1
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End If
End With
If data = 1 Then
With WS1
.Activate
.Cells(Range("CTQ_Beginn").Row + 1, Range("CTQ_Beginn").Column).Activate
.Paste
.Range("CTQ_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
End If
If data  1 Then
'MsgBox ("No CTQ data available!")
End If
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of CTQ successful!")
Else
'MsgBox ("No CTQ data available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Else
'MsgBox ("No CTQ data available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub VR_Targets()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("VR Targets")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("VR_Beginn").Row + 1, Range("VR_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("VR_Beginn").Row + 1, Range("VR_Beginn").Column), Cells(letzte_Zeile,  _
Range("VR_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_ZSUP_VR_TARGET"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/txtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00031-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00032-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00032-HIGH").Text = ""
session.findById("wnd[0]/usr/txtSP$00033-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00034-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00035-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00035-HIGH").Text = ""
session.findById("wnd[0]/usr/txtSP$00036-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = "QP"
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("VR_Beginn").Row + 1, Range("VR_Beginn").Column).Activate
.Paste
.Range("VR_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
'MsgBox ("UPDATE of VR Targets successful!")
End Sub
Sub ECR()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("ECR")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("ECR_Beginn").Row + 1, Range("ECR_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("ECR_Beginn").Row + 1, Range("ECR_Beginn").Column), Cells(letzte_Zeile,  _
Range("ECR_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZNPCM_LIST"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtS_QMNUM-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_QMTXT-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_ERNAM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMDAT-LOW").showContextMenu
session.findById("wnd[0]/usr").selectContextMenuItem "DELACTX"
session.findById("wnd[0]/usr/ctxtS_PROJE-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_LIGHT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MTART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_INDIK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_PRSD-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_VORAUS-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_GROUP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ABDAT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AREA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_PRUEF-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MNCOD-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_AUSER-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtP_CONFI").Text = ""
session.findById("wnd[0]/usr/ctxtS_ENTSC-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_GABDAT-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_MAILR-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_RKTXT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_RKBIS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtS_QMDAT-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtS_QMDAT-HIGH").Text = "9999.12.31"
With Sheets("Delivered materials")
.Activate
If Range("E2")  "" Then
data = 1
.Range("E2").Activate
.Range("E2", ActiveCell.End(xlDown)).Copy
End If
End With
If data = 1 Then
session.findById("wnd[0]/usr/btn%_S_MATNR_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/mbar/menu[0]/menu[1]/menu[1]").Select
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("ECR_Beginn").Row + 1, Range("ECR_Beginn").Column).Activate
.Paste
.Range("ECR_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of ECR successful!")
Else
'MsgBox ("No ECR's available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Else
'MsgBox ("No ECR's available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub SF()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Deviation request")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("SF_Beginn").Row + 1, Range("SF_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("SF_Beginn").Row + 1, Range("SF_Beginn").Column), Cells(letzte_Zeile,  _
Range("SF_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZQSF_LIST"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSO_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_MTART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_QMNUM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_TYP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_REFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_EINDT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ERNAM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ERDAT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_STAT-LOW").Text = ""
session.findById("wnd[0]/usr/cmbPA_KATEG").Key = " "
session.findById("wnd[0]/usr/cmbPA_QMCOD").Key = " "
session.findById("wnd[0]/usr/ctxtSO_PROJT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_PROJL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_EKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_QMATA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZQEK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZLQE-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZCOMM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZQKZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_TEIKZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtPA_VARIA").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSO_ERDAT-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtSO_ERDAT-HIGH").Text = "9999.12.31"
With Sheets("Delivered materials")
.Activate
If Range("E2")  "" Then
data = 1
.Range("E2").Activate
.Range("E2", ActiveCell.End(xlDown)).Copy
End If
End With
If data = 1 Then
session.findById("wnd[0]/usr/btn%_SO_MATNR_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[43]").press
On Error Resume Next
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("SF_Beginn").Row + 1, Range("SF_Beginn").Column).Activate
.Paste
.Range("SF_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of SF successful!")
Else
'MsgBox ("No deviation requests available!")
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Else
'MsgBox ("No deviation requests available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub ISR()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("ISR")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("ISR_Beginn").Row + 1, Range("ISR_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("ISR_Beginn").Row + 1, Range("ISR_Beginn").Column), Cells(letzte_Zeile,  _
Range("ISR_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZQMEMPLIST"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSO_TVERW-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtPA_ENDAT").Text = ""
session.findById("wnd[0]/usr/ctxtSO_PROJT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_PROJL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_TEAML-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_MTART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_AENNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_EKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_QMATA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ERNAM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZQEK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZLQE-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZCOMM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZCDG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZQKZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_TEIKZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_REGGRP-LOW").Text = ""
session.findById("wnd[0]/usr/txtSO_MOCNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_AEDAT-LOW").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSO_WERKS-LOW").Text = "0210"
session.findById("wnd[0]/usr/ctxtSO_LIFNR-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtSO_AEDAT-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtSO_AEDAT-HIGH").Text = "9999.12.31"
session.findById("wnd[0]/usr/ctxtPA_VARIA").Text = "/STANDARD1"
Application.DisplayAlerts = False
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/mbar/menu[0]/menu[3]/menu[1]").Select
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("ISR_Beginn").Row + 1, Range("ISR_Beginn").Column).Activate
.Paste
.Range("ISR_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
With Workbooks("temp.xlsx")
.Activate
.Close
End With
Application.DisplayAlerts = True
If IsWorkbookOpen("temp.xls") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
'MsgBox ("UPDATE of ISR successful!")
Else
'MsgBox ("No initial samplings available!")
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub RONs()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("RONs")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("RONs_Beginn").Row + 1, Range("RONs_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("RONs_Beginn").Row + 1, Range("RONs_Beginn").Column), Cells(letzte_Zeile, _
Range("RONs_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "CV04N"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTDOKNR-LOW").Text = ""
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTDOKAR-LOW").Text = ""
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTDOKTL-LOW").Text = ""
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTDOKVR-LOW").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/txtRESTRICT").Text = "1000"
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTATUS").Text = "FR"
'session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTATUS").SetFocus
'session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTATUS").caretPosition = 2
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB4").Select
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB4/ssubSUBSCRN:SAPLCV100:0404/tabsOBJECTSTRIP/ _
tabpOBJTB06").Select
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB4/ssubSUBSCRN:SAPLCV100:0404/tabsOBJECTSTRIP/ _
tabpOBJTB06/ssubSUBSCRN_OBJLINK:SAPLCV100:1217/tblSAPLCV100TAB_X/ctxtMCDOKOB-LIFNR[0,0]").Text = WS3.Range("Supplier")
'session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB4/ssubSUBSCRN:SAPLCV100:0404/tabsOBJECTSTRIP/ _
tabpOBJTB06/ssubSUBSCRN_OBJLINK:SAPLCV100:1217/tblSAPLCV100TAB_X/ctxtMCDOKOB-LIFNR[0,0]").caretPosition = 6
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/mbar/menu[0]/menu[1]/menu[1]").Select
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("SF_Beginn").Row + 1, Range("SF_Beginn").Column).Activate
.Paste
.Range("RONs_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of RONs successful!")
Else
'MsgBox ("No RON's available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub VR()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Vendor rating")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("VR1_Beginn").Row + 1, Range("VR1_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("VR1_Beginn").Row + 1, Range("VR1_Beginn").Column), Cells(letzte_Zeile,  _
Range("VR1_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_EKVR1"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00010-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("VR1_Beginn").Row + 1, Range("VR1_Beginn").Column).Activate
.Paste
.Range("VR1_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
With Workbooks("temp.xlsx")
.Activate
.Close
End With
'MsgBox ("UPDATE of vendor rating data successful!")
Else
'MsgBox ("No vendor rating data available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Beispielfile macht leider keinen Sinn, da der Code bei Euch nicht laufen würde (SAP hat nicht jeder und außerdem werden auch Z-Transaktionen angesprochen).
Ich hoffe, irgendjemand kann mir helfen - danke schonmal im Voraus!
Lg,
Chrisi

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
23.08.2017 14:42:53
Luschi
Hallo Chrisi,
so ein Öffnen-Befehl muß einfach in die Hose gehen:

Workbooks.Open Filename:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
Du mußt auch die gerade jetzt zu öffnenden Arbeitsmappe besser referenzieren:
Dim wbTemp As Workbook
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
Sowas ist eine Katastrophe:

With Workbooks("temp.xlsx")
.Activate
.Close
End With
Mache es so:
wbTemp.Close
'und zur Sicherheit
Set wbTemp = Nothing
Dann ist die korrekte Arbeitsmappe geschlossen und die Objektvariable 'wbTemp' hat keinen Bezug mehr zu irgendeiner offenen Arbeitsmappe und kann dann wiederverwendet werden!
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
23.08.2017 15:48:43
cH_rI_sI
Hallo Luschi,
vielen lieben Dank für deinen Input - ich habe den Code wie von Dir vorgeschlagen geändert:
Sub UPDATE()
Dim WS1, WS2 As Worksheet
Set WS10 = ActiveWorkbook.Worksheets("Overview")
Set WS20 = ActiveWorkbook.Worksheets("Constant's for VBA")
Application.ScreenUpdating = False
WS20.Visible = True
With WS10
If Range("Period_Start") = "" Then
MsgBox ("Begin of period missing")
Exit Sub
Else
If Range("Period_End") = "" Then
MsgBox ("End of period missing")
Exit Sub
Else
If Range("Supplier") = "" Then
MsgBox ("Vendor number missing")
Exit Sub
End If
End If
End If
End With
Call Vendor
If Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column)  "" Then
Call Active_Materials
Call Delivered_Materials
Call Complaint_Management
Call Scrap
Call VR_Targets
Call PPM
Call CTQ
Call ECR
Call SF
Call ISR
Call RONs
Call VR
With WS10
.Activate
.Range("Last_Update").Activate
.Range("Last_Update") = Format(Now, "yyyy.mm.dd hh:mm:ss")
End With
End If
WS20.Visible = False
Set WS10 = Nothing
Set WS20 = Nothing
Application.ScreenUpdating = True
End Sub
Function IsWorkbookOpen(strWB As String) As Boolean
On Error Resume Next
IsWorkbookOpen = Not Workbooks(strWB) Is Nothing
End Function
Sub Vendor()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Vendor master")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If WS1.Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column), Cells( _
letzte_Zeile, Range("Vendor_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_LIEFERANT"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00013-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00021-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column).Activate
.Paste
.Range("Vendor_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of Vendor master successful!")
Else
MsgBox ("Vendor does not exist!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub Active_Materials()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Active Materials")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("Active_Beginn").Row + 1, Range("Active_Beginn").Column + 1)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Active_Beginn").Row + 1, Range("Active_Beginn").Column), Cells( _
letzte_Zeile, Range("Active_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ME2L"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtEL_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtEL_EKORG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtLISTU").Text = ""
session.findById("wnd[0]/usr/ctxtSELPA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_BSART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_EKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_PSTYP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_KNTTP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_EINDT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtP_GULDT").Text = ""
session.findById("wnd[0]/usr/ctxtP_RWEIT").Text = ""
session.findById("wnd[0]/usr/ctxtS_EBELN-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATKL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_BEDAT-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_EAN11-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_IDNLF-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_LTSNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AKTNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_SAISO-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_SAISJ-LOW").Text = ""
session.findById("wnd[0]/usr/txtP_TXZ01").Text = ""
session.findById("wnd[0]/usr/txtP_NAME1").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtEL_LIFNR-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtEL_EKORG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtLISTU").Text = "BEST"
session.findById("wnd[0]/usr/ctxtSELPA-LOW").Text = "OFFEN"
session.findById("wnd[0]/usr/ctxtS_BSART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_EKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_PSTYP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_KNTTP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_EINDT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtP_GULDT").Text = ""
session.findById("wnd[0]/usr/ctxtP_RWEIT").Text = ""
session.findById("wnd[0]/usr/ctxtS_EBELN-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATKL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_BEDAT-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_EAN11-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_IDNLF-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_LTSNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AKTNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_SAISO-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_SAISJ-LOW").Text = ""
session.findById("wnd[0]/usr/txtP_TXZ01").Text = ""
session.findById("wnd[0]/usr/txtP_NAME1").Text = ""
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/tbar[1]/btn[33]").press
If Err.Number = 0 Then
On Error Resume Next
session.findById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/ _
shellcont/shell").currentCellRow = 2
If Err.Number = 0 Then
session.findById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/ _
shellcont/shell").selectedRows = "2"
session.findById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/ _
shellcont/shell").clickCurrentCell
session.findById("wnd[0]/tbar[1]/btn[43]").press
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("Active_Beginn").Row + 1, Range("Active_Beginn").Column).Activate
.Paste
.Range("Active_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of Active materials successful!")
Else
'MsgBox ("No active materials available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Else
'MsgBox ("No active materials available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub Delivered_Materials()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Delivered materials")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("Delivered_Beginn").Row + 1, Range("Delivered_Beginn").Column + 2)  ""  _
Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Delivered_Beginn").Row + 1, Range("Delivered_Beginn").Column), Cells( _
letzte_Zeile, Range("Delivered_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "QA33"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtQL_SELID").Text = ""
session.findById("wnd[0]/usr/ctxtQL_ENSTD-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").Text = ""
session.findById("wnd[0]/usr/ctxtQL_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_HERKT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_CHARG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_HERST-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_KUNNR-LOW").Text = ""
session.findById("wnd[0]/usr/txtQL_MAX_R").Text = ""
session.findById("wnd[0]/usr/txtSO_ZZPCH-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtQL_ENSTD-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").Text = "9999.12.31"
'session.findById("wnd[0]/usr/ctxtQL_WERKS-LOW").Text = ""
'session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = ""
'session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").SetFocus
'session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").caretPosition = 10
session.findById("wnd[0]/usr/btn%_QL_WERKS_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").Text = "0210"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").Text = "0295"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").Text = "0299"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/usr/ctxtQL_HERKT-LOW").Text = "01"
session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtVARIANT").Text = "/STANDARD"
session.findById("wnd[0]/usr/ctxtVARIANT").SetFocus
session.findById("wnd[0]/usr/ctxtVARIANT").caretPosition = 9
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/tbar[1]/btn[47]").press
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
If Range("C2")  "" Then
data = 1
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End If
End With
If data = 1 Then
With WS1
.Activate
.Cells(Range("Delivered_Beginn").Row + 1, Range("Delivered_Beginn").Column). _
Activate
.Paste
.Range("Delivered_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
End If
If data  1 Then
'MsgBox ("No delivered materials available!")
End If
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of Delivered materials successful!")
Else
'MsgBox ("No delivered materials available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub Complaint_Management()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Complaint Management")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("REKLI_Beginn").Row + 1, Range("REKLI_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("REKLI_Beginn").Row + 1, Range("REKLI_Beginn").Column), Cells( _
letzte_Zeile, Range("REKLI_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZQM_REKLI"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
'session.findById("wnd[0]/usr/ctxtP_KOKRS").Text = "0210"
session.findById("wnd[0]/usr/ctxtS_EKORG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AUART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AUFNR-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_AUFST-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMNUM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_STRMN-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_TRSTA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_BKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MTART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATKL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_REFNUM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_SF_TYP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_SF_KAT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMCOD-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_Z2PAR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_UPROZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_WWERT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMATA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_REGGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ZZQEK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ZZLQEK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ZCOMM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ADAT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMEND-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_8DREP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_3DREP-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_8DULAZ-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_3DULAZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_DATEN-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_DATEA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_DATKB-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_KOSTQ-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_KOSTB-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_KOSTW-LOW").Text = ""
session.findById("wnd[0]/usr/txtP_GJV").Text = ""
session.findById("wnd[0]/usr/txtP_PEV").Text = ""
session.findById("wnd[0]/usr/txtP_GJB").Text = ""
session.findById("wnd[0]/usr/txtP_PEB").Text = ""
session.findById("wnd[0]/usr/ctxtS_KS02-LOW").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtP_KOKRS").Text = "0210"
'session.findById("wnd[0]/usr/ctxtP_KOKRS").SetFocus
'session.findById("wnd[0]/usr/ctxtP_KOKRS").caretPosition = 4
session.findById("wnd[0]/usr/btn%_S_WERKS_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV").Select
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,0]").Text = "0200"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,1]").Text = "0201"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").Text = "0220"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").caretPosition = 4
session.findById("wnd[1]").sendVKey 8
session.findById("wnd[0]/usr/ctxtS_QMART-LOW").Text = "QE"
session.findById("wnd[0]/usr/ctxtS_STRMN-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD") 'Datum variabel halten
session.findById("wnd[0]/usr/ctxtS_STRMN-HIGH").Text = "9999.12.31"
'session.findById("wnd[0]/usr/ctxtS_STRMN-HIGH").SetFocus
'session.findById("wnd[0]/usr/ctxtS_STRMN-HIGH").caretPosition = 10
session.findById("wnd[0]/usr/btn%_S_TRSTA_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV").Select
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,0]").Text = "6"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,1]").Text = "7"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").Text = "12"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV/ssubSCREEN_HEADER:SAPLALDB:3030/ _
tblSAPLALDBSINGLE_E/ctxtRSCSEL_255-SLOW_E[1,2]").caretPosition = 2
session.findById("wnd[1]/tbar[0]/btn[8]").press
'session.findById("wnd[0]/usr/btn%_S_ZZLQEK_%_APP_%-VALU_PUSH").press
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpNOSV").Select
'WS2.Range("BU").Copy 'Range der auszuschließenden BU-Mitarbeiter von ISR kopieren
'session.findById("wnd[1]/tbar[0]/btn[24]").press
'session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/usr/ctxtS_LIFNR-LOW").Text = WS3.Range("Supplier")
'session.findById("wnd[0]/usr/ctxtS_QMEND-LOW").Text = Format(WS2.Range("REKLI2_Start"), "YYYY. _
MM.DD") 'Datum variabel halten
'session.findById("wnd[0]/usr/ctxtS_QMEND-LOW").SetFocus
'session.findById("wnd[0]/usr/ctxtS_QMEND-LOW").caretPosition = 6
'session.findById("wnd[0]").sendVKey 2
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").setCurrentCell 4, "TEXT"
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").selectedRows = "4"
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").doubleClickCurrentCell
'session.findById("wnd[0]/usr/ctxtS_8DREP-LOW").SetFocus
'session.findById("wnd[0]/usr/ctxtS_8DREP-LOW").caretPosition = 0
'session.findById("wnd[0]").sendVKey 2
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").currentCellColumn = "TEXT"
'session.findById("wnd[1]/usr/cntlOPTION_CONTAINER/shellcont/shell").doubleClickCurrentCell
session.findById("wnd[0]/usr/ctxtVARIANT").Text = "/Audit"
'session.findById("wnd[0]/usr/ctxtVARIANT").SetFocus
'session.findById("wnd[0]/usr/ctxtVARIANT").caretPosition = 8
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
'session.findById("wnd[0]/mbar/menu[0]/menu[1]/menu[1]").Select
session.findById("wnd[0]/usr/cntlMY_CONTROL_AREA/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlMY_CONTROL_AREA/shellcont/shell").selectContextMenuItem "& _
XXL"
'session.findById("wnd[1]/usr/radRB_OTHERS").SetFocus
'session.findById("wnd[1]/usr/radRB_OTHERS").Select
'session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
If Range("C2")  "" Then
data = 1
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End If
End With
If data = 1 Then
With WS1
.Activate
.Cells(Range("REKLI_Beginn").Row + 1, Range("REKLI_Beginn").Column).Activate
.Paste
.Range("REKLI_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
End If
If data  1 Then
'MsgBox ("No complaints available!")
End If
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of Complaint Management successful!")
Else
'MsgBox ("No complaints available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub Scrap()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Collective scrap")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("Scrap_Beginn").Row + 1, Range("Scrap_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Scrap_Beginn").Row + 1, Range("Scrap_Beginn").Column), Cells( _
letzte_Zeile, Range("Scrap_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_MS"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00005-HIGH").Text = ""
session.findById("wnd[0]/usr/txtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00008-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00009-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00010-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00011-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00013-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00014-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00015-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00016-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00017-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00018-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00019-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = "MS"
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtSP$00005-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtSP$00005-HIGH").Text = "9999.12.31"
session.findById("wnd[0]/usr/ctxtSP$00010-LOW").Text = "EN"
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = "/STANDARD"
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("Scrap_Beginn").Row + 1, Range("Scrap_Beginn").Column).Activate
.Paste
.Range("Scrap_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of Collective scrap successful!")
Else
'MsgBox ("No collective scrap available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub PPM()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("PPM")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("PPM_Beginn").Row + 1, Range("PPM_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("PPM_Beginn").Row + 1, Range("PPM_Beginn").Column), Cells(letzte_Zeile,  _
Range("PPM_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_SQ-BSC_S968-BSC"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/txtP%Z_0001").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00010-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00015-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00001-HIGH").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00008-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00009-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00011-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/txtP%Z_0001").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00010-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00015-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00001-LOW").Text = WS2.Range("PPM_Startdate")
session.findById("wnd[0]/usr/txtSP$00001-HIGH").Text = "9999.12"
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/txtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00008-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00009-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00011-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
session.findById("wnd[0]/usr/btn%_SP$00007_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").Text = "0210"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").Text = "0295"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").Text = "0299"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("PPM_Beginn").Row + 1, Range("PPM_Beginn").Column).Activate
.Paste
.Range("PPM_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of PPM successful!")
Else
'MsgBox ("No PPM data available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub CTQ()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("CTQ")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("CTQ_Beginn").Row + 1, Range("CTQ_Beginn").Column + 2)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("CTQ_Beginn").Row + 1, Range("CTQ_Beginn").Column), Cells(letzte_Zeile,  _
Range("CTQ_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "QA33"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtQL_SELID").Text = ""
session.findById("wnd[0]/usr/ctxtQL_ENSTD-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").Text = ""
session.findById("wnd[0]/usr/ctxtQL_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_HERKT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_CHARG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_HERST-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtQL_KUNNR-LOW").Text = ""
session.findById("wnd[0]/usr/txtQL_MAX_R").Text = ""
session.findById("wnd[0]/usr/txtSO_ZZPCH-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtQL_ENSTD-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").Text = "9999.12.31"
'session.findById("wnd[0]/usr/ctxtQL_WERKS-LOW").Text = ""
'session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = ""
'session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").SetFocus
'session.findById("wnd[0]/usr/ctxtQL_ENSTD-HIGH").caretPosition = 10
session.findById("wnd[0]/usr/btn%_QL_WERKS_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").Text = "0210"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").Text = "0295"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").Text = "0299"
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").SetFocus
'session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/ _
tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,2]").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[16]").press
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/cntlSUB_CONTAINER/shellcont/shellcont/shell/shellcont[1]/shell").expandNode "          1"
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/cntlSUB_CONTAINER/shellcont/shellcont/shell/shellcont[1]/shell").selectNode "          4"
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/cntlSUB_CONTAINER/shellcont/shellcont/shell/shellcont[1]/shell").topNode = "          1"
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/cntlSUB_CONTAINER/shellcont/shellcont/shell/shellcont[1]/shell").doubleClickNode "          4"
session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/ssubSUBSCREEN_CONTAINER:SAPLSSEL:1106/ctxt%%DYN001-LOW").Text = "07CTQ"
'session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/ssubSUBSCREEN_CONTAINER:SAPLSSEL:1106/ctxt%%DYN001-LOW").SetFocus
'session.findById("wnd[0]/usr/ssub%_SUBSCREEN_%_SUB%_CONTAINER:SAPLSSEL:2001/ _
ssubSUBSCREEN_CONTAINER2:SAPLSSEL:2000/ssubSUBSCREEN_CONTAINER:SAPLSSEL:1106/ctxt%%DYN001-LOW").caretPosition = 5
'session.findById("wnd[0]").sendVKey 0
With Sheets("Delivered materials")
.Activate
If Range("E2")  "" Then
.Range("E2").Activate
.Range("E2", ActiveCell.End(xlDown)).Copy
End If
End With
If data = 1 Then
session.findById("wnd[0]/usr/btn%_QL_MATNR_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
'session.findById("wnd[0]/usr/ctxtQL_LIFNR-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtVARIANT").Text = "/STANDARD"
session.findById("wnd[0]/usr/ctxtVARIANT").SetFocus
session.findById("wnd[0]/usr/ctxtVARIANT").caretPosition = 9
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/tbar[1]/btn[47]").press
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
If Range("C2")  "" Then
data = 1
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End If
End With
If data = 1 Then
With WS1
.Activate
.Cells(Range("CTQ_Beginn").Row + 1, Range("CTQ_Beginn").Column).Activate
.Paste
.Range("CTQ_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
End If
If data  1 Then
'MsgBox ("No CTQ data available!")
End If
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of CTQ successful!")
Else
'MsgBox ("No CTQ data available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Else
'MsgBox ("No CTQ data available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub VR_Targets()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("VR Targets")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("VR_Beginn").Row + 1, Range("VR_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("VR_Beginn").Row + 1, Range("VR_Beginn").Column), Cells(letzte_Zeile,  _
Range("VR_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_ZSUP_VR_TARGET"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/txtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00031-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00032-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00032-HIGH").Text = ""
session.findById("wnd[0]/usr/txtSP$00033-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00034-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00035-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00035-HIGH").Text = ""
session.findById("wnd[0]/usr/txtSP$00036-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = "QP"
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("VR_Beginn").Row + 1, Range("VR_Beginn").Column).Activate
.Paste
.Range("VR_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
'MsgBox ("UPDATE of VR Targets successful!")
End Sub
Sub ECR()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("ECR")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("ECR_Beginn").Row + 1, Range("ECR_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("ECR_Beginn").Row + 1, Range("ECR_Beginn").Column), Cells(letzte_Zeile,  _
Range("ECR_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZNPCM_LIST"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtS_QMNUM-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_QMTXT-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_ERNAM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_QMDAT-LOW").showContextMenu
session.findById("wnd[0]/usr").selectContextMenuItem "DELACTX"
session.findById("wnd[0]/usr/ctxtS_PROJE-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_LIGHT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MTART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_INDIK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_PRSD-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_VORAUS-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_GROUP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_ABDAT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_AREA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_PRUEF-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_MNCOD-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_AUSER-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtP_CONFI").Text = ""
session.findById("wnd[0]/usr/ctxtS_ENTSC-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_GABDAT-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_MAILR-LOW").Text = ""
session.findById("wnd[0]/usr/txtS_RKTXT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_RKBIS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtVARIANT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtS_QMDAT-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtS_QMDAT-HIGH").Text = "9999.12.31"
With Sheets("Delivered materials")
.Activate
If Range("E2")  "" Then
data = 1
.Range("E2").Activate
.Range("E2", ActiveCell.End(xlDown)).Copy
End If
End With
If data = 1 Then
session.findById("wnd[0]/usr/btn%_S_MATNR_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/mbar/menu[0]/menu[1]/menu[1]").Select
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("ECR_Beginn").Row + 1, Range("ECR_Beginn").Column).Activate
.Paste
.Range("ECR_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of ECR successful!")
Else
'MsgBox ("No ECR's available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Else
'MsgBox ("No ECR's available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub SF()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim data As Long
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Deviation request")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("SF_Beginn").Row + 1, Range("SF_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("SF_Beginn").Row + 1, Range("SF_Beginn").Column), Cells(letzte_Zeile,  _
Range("SF_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZQSF_LIST"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSO_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_MTART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_QMNUM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_TYP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_REFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_EINDT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ERNAM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ERDAT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_STAT-LOW").Text = ""
session.findById("wnd[0]/usr/cmbPA_KATEG").Key = " "
session.findById("wnd[0]/usr/cmbPA_QMCOD").Key = " "
session.findById("wnd[0]/usr/ctxtSO_PROJT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_PROJL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_EKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_QMATA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZQEK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZLQE-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZCOMM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZQKZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_TEIKZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtPA_VARIA").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSO_ERDAT-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtSO_ERDAT-HIGH").Text = "9999.12.31"
With Sheets("Delivered materials")
.Activate
If Range("E2")  "" Then
data = 1
.Range("E2").Activate
.Range("E2", ActiveCell.End(xlDown)).Copy
End If
End With
If data = 1 Then
session.findById("wnd[0]/usr/btn%_SO_MATNR_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[43]").press
On Error Resume Next
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("SF_Beginn").Row + 1, Range("SF_Beginn").Column).Activate
.Paste
.Range("SF_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of SF successful!")
Else
'MsgBox ("No deviation requests available!")
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Else
'MsgBox ("No deviation requests available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub ISR()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("ISR")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("ISR_Beginn").Row + 1, Range("ISR_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("ISR_Beginn").Row + 1, Range("ISR_Beginn").Column), Cells(letzte_Zeile,  _
Range("ISR_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZQMEMPLIST"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSO_TVERW-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtPA_ENDAT").Text = ""
session.findById("wnd[0]/usr/ctxtSO_PROJT-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_PROJL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_TEAML-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_WERKS-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_MATNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_MTART-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_AENNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_EKGRP-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_QMATA-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ERNAM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZQEK-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZLQE-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZCOMM-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZCDG-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_ZZQKZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_TEIKZ-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_LIFNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtS_REGGRP-LOW").Text = ""
session.findById("wnd[0]/usr/txtSO_MOCNR-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSO_AEDAT-LOW").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSO_WERKS-LOW").Text = "0210"
session.findById("wnd[0]/usr/ctxtSO_LIFNR-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/usr/ctxtSO_AEDAT-LOW").Text = Format(WS3.Range("Period_Start"), "YYYY. _
MM.DD")
session.findById("wnd[0]/usr/ctxtSO_AEDAT-HIGH").Text = "9999.12.31"
session.findById("wnd[0]/usr/ctxtPA_VARIA").Text = "/STANDARD1"
Application.DisplayAlerts = False
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/mbar/menu[0]/menu[3]/menu[1]").Select
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("ISR_Beginn").Row + 1, Range("ISR_Beginn").Column).Activate
.Paste
.Range("ISR_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
wbTemp.Close
Set wbTemp = Nothing
Application.DisplayAlerts = True
'MsgBox ("UPDATE of ISR successful!")
Else
'MsgBox ("No initial samplings available!")
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub RONs()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("RONs")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("RONs_Beginn").Row + 1, Range("RONs_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("RONs_Beginn").Row + 1, Range("RONs_Beginn").Column), Cells(letzte_Zeile, _
Range("RONs_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "CV04N"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTDOKNR-LOW").Text = ""
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTDOKAR-LOW").Text = ""
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTDOKTL-LOW").Text = ""
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTDOKVR-LOW").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/txtRESTRICT").Text = "1000"
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTATUS").Text = "FR"
'session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTATUS").SetFocus
'session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB1/ssubSUBSCRN:SAPLCV100:0401/ssubSCR_MAIN: _
SAPLCV100:0402/ctxtSTATUS").caretPosition = 2
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB4").Select
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB4/ssubSUBSCRN:SAPLCV100:0404/tabsOBJECTSTRIP/ _
tabpOBJTB06").Select
session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB4/ssubSUBSCRN:SAPLCV100:0404/tabsOBJECTSTRIP/ _
tabpOBJTB06/ssubSUBSCRN_OBJLINK:SAPLCV100:1217/tblSAPLCV100TAB_X/ctxtMCDOKOB-LIFNR[0,0]").Text = WS3.Range("Supplier")
'session.findById("wnd[0]/usr/tabsMAINSTRIP/tabpTAB4/ssubSUBSCRN:SAPLCV100:0404/tabsOBJECTSTRIP/ _
tabpOBJTB06/ssubSUBSCRN_OBJLINK:SAPLCV100:1217/tblSAPLCV100TAB_X/ctxtMCDOKOB-LIFNR[0,0]").caretPosition = 6
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/mbar/menu[0]/menu[1]/menu[1]").Select
If Err.Number = 0 Then
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("SF_Beginn").Row + 1, Range("SF_Beginn").Column).Activate
.Paste
.Range("RONs_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of RONs successful!")
Else
'MsgBox ("No RON's available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Sub VR()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Vendor rating")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If IsWorkbookOpen("temp.xlsx") Then
With Workbooks("temp.xlsx")
.Activate
.Close
End With
End If
If WS1.Cells(Range("VR1_Beginn").Row + 1, Range("VR1_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("VR1_Beginn").Row + 1, Range("VR1_Beginn").Column), Cells(letzte_Zeile,  _
Range("VR1_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_EKVR1"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/txtSP$00010-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.xlsx"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks.Open(Filename:="D:\temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("VR1_Beginn").Row + 1, Range("VR1_Beginn").Column).Activate
.Paste
.Range("VR1_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
'MsgBox ("UPDATE of vendor rating data successful!")
Else
'MsgBox ("No vendor rating data available!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
Set WS4 = Nothing
End Sub
Leider hat sich nichts geändert - es werden immer noch die selben Daten in die ganzen Blätter kopiert - am Schluss meldet Excel auch noch, dass das temporäre File (temp.xlsx) schreibgeschützt ist und will das File einigemale öffnen (muss die Meldung mehrmals bestätigen).
Aber warum funktioniert das nicht? Ohne ScreenUpdating hat ja vorher auch alles funktioniert...
Ich Blicke hier echt nicht mehr durch...
Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
23.08.2017 16:15:24
mmat
Hallo,
allen Unkenrufen zum trotz, an deinem Code scheint es erstmal nix total falsches zu geben. Der Code enthält sehr viele Unschönheiten, die ein erfahrener Programmierer vermeiden würde, aber wenns läuft - sobald Screen-updating an ist - who cares? ...
Ich komme allerdings nicht umhin, festzustellen, dass das ganze Ding viel zu umfangreich und verkorkst ist, um von jemanden mit dem Rating "VBA - bescheiden" angegangen zu werden. Sorry.
Daher kann ich nur empfehlen: Schalte Screen-updating ein und lass ansonsten die Finger davon.
vg, MM
AW: Probleme mit "Application.ScreenUpdating = False"
23.08.2017 18:05:01
cH_rI_sI
Hallo MM (aber auch alle anderen Experten),
im Prinzip mache ich bei den ganzen Calls immer das selbe - so komplex ist es dann nicht ;-)
Da ich mich weiterentwickeln möchte, wäre ich Dir dankbar wenn Du mir ein paar Beispiele der Unschönheiten geben kannst - Danke!
@ all: Jemand eine Idee warum ich immer nur die Daten vom

Call Delivered_Materials
im Speicher habe und somit in allen Worksheets eingefügt wird?
Vielen Dank und schönen Abend!
Lg,
Chrisi
Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 09:33:59
mmat
Hallo,
Unschönheiten gibt's gleich am Anfang
Das "With" kannst du dir hier schenken, es ist vollkommen sinnfrei. Es sei denn du möchtest vor den "Range" in den folgenden Zeilen noch einen "." sczhreiben.
     With WS10
If Range("Period_Start") = "" Then
MsgBox ("Begin of period missing")
Exit Sub
Else
If Range("Period_End") = "" Then
MsgBox ("End of period missing")
Exit Sub
Else
If Range("Supplier") = "" Then
MsgBox ("Vendor number missing")
Exit Sub
End If
End If
End If
End With

Das ganze Codefragment ist extrem unübersichtlich und verschachtelt und läßt sich auf drei Zeilen zusammenfassen:

If Range("Period_Start") = "" Then MsgBox ("Begin of period missing"): Exit Sub
If Range("Period_End") = "" Then MsgBox ("End of period missing"):  Exit Sub
If Range("Supplier") = "" Then MsgBox ("Vendor number missing"): Exit Sub

Das folgende, ein kleines Stück weiter unten

With WS10
.Activate
.Range("Last_Update").Activate
.Range("Last_Update") = Format(Now, "yyyy.mm.dd hh:mm:ss")
End With
kann und sollte man als Einzeiler schreiben:

ws10.Range("Last_Update") = Format(Now, "yyyy.mm.dd hh:mm:ss")
Das obengenannte gleich zu Beginn deines Codes, und ein überfliegen des Rests liess bei mir den Eindruck entstehen, den ich in meinem vorigen Beitrag zum Ausdruck gebracht habe: Es ist grundsätzlich nicht falsch, aber unschön - eine Lösung des eigentlichen Problems ist hier nicht zu finden.
Es kann durchaus sein, dass Du im Rahmen einer umfassenden Bereinigung des Codes auch den Fehler findest; viel Glück dabei.
vg, MM
Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 09:47:13
cH_rI_sI
Danke MM für die Hinweise!
Ich möchte den Thread noch offen lassen - vielleicht sieht doch noch jemand den Fehler...
Kann es sein, dass es damit zusammenhängt, weil sich das exportierte File immer automatisch öffnet (ist beim SAP-Export immer so)?
Lg,
Chrisi
AW: Probleme mit "Application.ScreenUpdating = False"
23.08.2017 18:23:20
cH_rI_sI
Was mir noch aufgefallen ist - nach Beendigung des Makros sieht man im VBA Editor das temp-File so oft obwohl nicht mehr geöffnet:
Userbild
Und diese Meldung muss ich auch x-mal bestätigen:
Userbild
Vielleicht ist das der Problemlösung dienlich...
Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 08:02:01
cH_rI_sI
Guten Morgen!
Wenn ich z.B. nur einen Teil des Codes laufen lasse, kommt am Schluss folgende Meldung:
Userbild
Aber warum? Ich lösche ja bewusst die Datei - warum will Excel diese wieder öffnen? Ich versteh das einfach nicht...
Anbei der Code:
Sub Vendor()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet, WS4 As Worksheet
Dim wbTemp As Workbook
Dim letzte_Zeile As Long
Set WS1 = ActiveWorkbook.Worksheets("Vendor master")
Set WS2 = ActiveWorkbook.Worksheets("Constant's for VBA")
Set WS3 = ActiveWorkbook.Worksheets("Overview")
If WS1.Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column)  "" Then
With WS1
.Activate
If .AutoFilterMode Then
If .AutoFilter.FilterMode Then
.AutoFilter.Sort.SortFields.Clear
.ShowAllData
End If
End If
letzte_Zeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row
.Range(Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column), Cells( _
letzte_Zeile, Range("Vendor_Ende").Column)).EntireRow.Delete
End With
End If
If Not IsObject(Appl) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Appl = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Appl.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Appl, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "ZX_QE_LIEFERANT"
session.findById("wnd[0]").sendVKey 0
'Löschen einer ggf. vorhandenen Selektion erforderlich
session.findById("wnd[0]/usr/ctxtSP$00004-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00003-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00005-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00007-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00012-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00013-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00021-LOW").Text = ""
session.findById("wnd[0]/usr/ctxt%LAYOUT").Text = ""
'Erst jetzt neu Selektieren...
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = WS3.Range("Supplier")
session.findById("wnd[0]/tbar[1]/btn[8]").press
On Error Resume Next
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&XXL"
session.findById("wnd[1]/usr/cmbG_LISTBOX").SetFocus
session.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "10"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "D:\"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "temp.XLSX"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
session.findById("wnd[0]/tbar[0]/btn[15]").press
'Workbooks.Open Filename:="D:\temp.xlsx"
Set wbTemp = Workbooks("temp.xlsx")
Set WS4 = wbTemp.Worksheets("Sheet1")
With WS4
.Activate
.Range("A2", ActiveCell.SpecialCells(xlLastCell)).Copy
End With
With WS1
.Activate
.Cells(Range("Vendor_Beginn").Row + 1, Range("Vendor_Beginn").Column).Activate
.Paste
.Range("Vendor_Beginn").Activate
.Cells.EntireColumn.AutoFit
End With
Application.CutCopyMode = False
wbTemp.Close
Set wbTemp = Nothing
CreateObject("Scripting.FileSystemObject").DeleteFile "D:\temp.xlsx"
'MsgBox ("UPDATE of Vendor master successful!")
Else
MsgBox ("Vendor does not exist!")
session.findById("wnd[0]/tbar[0]/btn[15]").press
End If
Set WS1 = Nothing
Set WS2 = Nothing
Set WS3 = Nothing
End Sub
Ausserdem verstehe ich auch nicht, dass ich das temporäre File im VBA Editor sehe obwohl bereits gelöscht (siehe vorherigen Post).
Lg,
Chrisi
Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 10:52:07
mmat
Hi,
wie kommst du auf die Idee, dass
Set wbTemp = Workbooks("temp.xlsx")

sich zwangsläufig auf die gleiche Datei bezieht wie
CreateObject("Scripting.FileSystemObject").DeleteFile "D:\temp.xlsx"

?
Mach mal
Set wbTemp = Workbooks("temp.xlsx")
msgbox wbTemp.fullname
Achja, und das "Create Object" ist "unschön" :-)
kill "D:\temp.xlsx"

macht das genausogut
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 12:00:13
cH_rI_sI
Danke nochmal für den Hinweis - trotzdem brachten sämtliche Optimierungen keine Besserung...
Wenn ich das Makro im Debugging-Modus ablaufen lasse, funktioniert alles (auch wenn ScreenUpdating ausgeschaltet ist) - wenn ich das Makro normal ablaufen lasse, werden immer die falschen Daten kopiert (immer vom temp-File des Calls "Delivered materials", obwohl diese temp-Datei überschrieben wird und nicht mehr verfügbar ist?!?).
Noch jemand eine Idee an was das liegt?
Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 12:31:58
mmat
Ähm, die Fehlermeldung beim Löschen der Datei solltest du aber jetzt im Griff haben !
Dann lass uns noch ein wenig rumstochern (ohne Anspruch darauf, das alles richtig und hilfteich ist, was ich von mir gebe). Der Fehler tritt dann wohl in Compliance_Management auf.
Diese Funktion erzeugt bei mir ein Stirnrunzeln
          Function IsWorkbookOpen(strWB As String) As Boolean
On Error Resume Next
IsWorkbookOpen = Not Workbooks(strWB) Is Nothing
End Function 
Versuche:
Function IsWorkbookOpen(f As String) As Boolean
Dim w As Workbook
For Each w In Application.Workbooks
If (LCase(w.Name) = LCase(f)) Then IsWorkbookOpen= True: Exit Function
Next
IsWorkbookOpen= False
End Function 
das gefällt mir auch nicht:
  Workbooks.Open FileName:="D:\temp.xlsx"
Set WS4 = Workbooks("temp.xlsx").Worksheets("Sheet1")
Ersetzte durch:
  dim wb as workbook
set wb=Workbooks.Open FileName:="D:\temp.xlsx"
Set WS4 = wb.Worksheets("Sheet1")

Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 13:30:02
mmat
Und sowas ist natürlich strikt verboten:)
On Error Resume Next
Session.findById("wnd0]/usr/cntlMY_CONTROL_AREA/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
If Err.Number = 0 Then
Hier werden die Fehlermeldungen für den Rest des Sub's einfach ausgeschaltet. Dein Computer möchte mit dir vielleicht etwas mitteilen (z. B. dass die Datei schon offen ist) und du willst nicht zuhören :)
Besser ist:
On Error Resume Next
Session.findById("wnd0]/usr/cntlMY_CONTROL_AREA/shellcont/shell").pressToolbarContextButton "& _
MB_EXPORT"
dim falscherfehler as Long
falscherfehler= Err.Number
on error goto 0
If falscherfehler = 0 Then

Anzeige
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 14:42:28
cH_rI_sI
Danke nochmal für deine Hinweise - ich werde zukünftig versuchen dies besser zu machen...
Ich habe mittlerweile die Ursache gefunden - das seitens SAP exportierte Excelfile hat gewisse Besonderheiten / Eigenheiten - ich bin also nicht alleine mit meinem Problem:
https://stackoverflow.com/questions/40729968/exported-file-opens-after-macro-completes-unwanted
Hier wurde auch eine Lösung angeboten:
At the end of your VBA program (without changes) , run the script below.
For example:
. . .
'Open the export and then close to avoid it opening at end of macro.
set Wshell = CreateObject("WScript.Shell")
Wshell.run "c:\tmp\SAP_Workbook_Close.vbs",1,false
End Sub
SAP_Workbook_Close.vbs:
SAP_Workbook = "SAP_export.xlsx"
on error resume next
do
err.clear
Set xclApp = GetObject(, "Excel.Application")
If Err.Number = 0 Then exit do
'msgbox "Wait for Excel session"
wscript.sleep 2000
loop
do
err.clear
Set xclwbk = xclApp.Workbooks.Item(SAP_Workbook)
If Err.Number = 0 Then exit do
'msgbox "Wait for SAP workbook"
wscript.sleep 2000
loop
on error goto 0
Set xclSheet = xclwbk.Worksheets(1)
xclApp.Visible = True
xclapp.DisplayAlerts = false
xclapp.ActiveWorkbook.Close
Set xclwbk = Nothing
Set xclsheet = Nothing
'xclapp.Quit
set xclapp = Nothing
Kann ich den Code vom SAP_Workbook_Close.vbs nicht gleich im selben Modul ausführen und den Aufruf der vbs-Datei vermeiden? Wäre mir lieber... Wie muss ich den Code anpassen um diesen im selben Modul ausführen zu können? Bitte um Eure Unterstützung - Danke!
Lg,
Chrisi
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 16:16:28
mmat
Das ist schon ein interessanter Fund.
Ich glaube ich hab jetzt endlich kapiert, was hier falsch läuft. Der Sap-Prozess, setzt den Befehl ab, die Datei zu öffnen. Excel führt den Befehl aber nicht sofort aus, sondern verzögert, weil das Makro noch läuft. Bei abgeschaltetem Screenupdating ist Excel etwas performanter. Irgendwie geraten sich die beiden Prozesse in die Wolle.
Ich hab ein paar sehr simple Ideen für eine Lösung. Der Code von stackoverflow ist hilfreich für das Verständnis, aber keine Lösung deines Problems, weil bei dir mehrere Exporte hintereinander stattfinden.
AW: Probleme mit "Application.ScreenUpdating = False"
24.08.2017 20:05:04
cH_rI_sI
Und wenn ich am Ende jeden Calls den Code von stackoverflow laufen lasse?
Handling Sas-Exportdateien
25.08.2017 09:36:47
mmat
Meine Meinung: vergiss den Code von stackoverflow
Überleg dir mal, ob alle diese Sas-Export-Dateien immer den gleichen Namen haben müssen.
I hope it helbs
MM
AW: Handling Sas-Exportdateien
27.08.2017 19:48:22
cH_rI_sI
OK danke - CLOSED

127 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige