Thema Datum  Von Nutzer Rating
Antwort
12.01.2015 12:30:14 Richard
NotSolved
Blau VBA Code stoppt ohne Fehlermeldung
12.01.2015 20:43:51 Gast6971
Solved
13.01.2015 15:36:10 Richard
Solved

Ansicht des Beitrags:
Von:
Gast6971
Datum:
12.01.2015 20:43:51
Views:
890
Rating: Antwort:
 Nein
Thema:
VBA Code stoppt ohne Fehlermeldung

mögliche Fehlerquelle 1:

Application.OnKey "^+D", "Datenexport"

You are running code that is meant to open one or more files using the Workbooks.Open command.
As soon as you hold down the shift key when this command is being processed, macro execution stops and your program is terminated entirely.

http://support.microsoft.com/kb/555263/en-us

 

Meine Reproduktion dazu - 2 Varianten!

Option Explicit
Public Declare Function GetKeyState Lib "User32" _
(ByVal vKey As Integer) As Integer
Const SHIFT_KEY = 16
Public Sub Datenexport()
'
' Tastenkombination: Strg+Shift+D
Do While ShiftPressed(): DoEvents: Loop

Application.ScreenUpdating = False

ActiveWorkbook.Sheets("Tabelle1").Cells.Copy
Workbooks.Open Filename:=ThisWorkbook.Path & "\Datei.csv"
Windows("Datei.csv").Activate

Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="Datei", FileFormat:=xlCSV, local:=True
ActiveWorkbook.Close
Application.DisplayAlerts = True

Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Ready"

End Sub

Function ShiftPressed() As Boolean
'Returns True if shift key is pressed
    ShiftPressed = GetKeyState(SHIFT_KEY) < 0
End Function

Public Sub myDatenexport()
'Alternative
Dim oWbkSource As Workbook
Dim oWbkTarget As Workbook
Dim oWshSource As Worksheet
Dim oWshTarget As Worksheet
'
' Tastenkombination: Strg+Shift+D
Do While ShiftPressed(): DoEvents: Loop

Application.ScreenUpdating = False

Set oWbkSource = ThisWorkbook
Set oWshSource = oWbkSource.Sheets("Tabelle1")
Set oWbkTarget = Workbooks.Open(Filename:=ThisWorkbook.Path & "\Datei.csv")
Set oWshTarget = oWbkTarget.Sheets(1)

oWbkSource.Activate
oWshSource.UsedRange.Copy

With oWbkTarget
   With oWshTarget
      .Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   End With
   .Close True
End With

Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "myReady"
End Sub

 

 

 

 

 


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



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

Thema Datum  Von Nutzer Rating
Antwort
12.01.2015 12:30:14 Richard
NotSolved
Blau VBA Code stoppt ohne Fehlermeldung
12.01.2015 20:43:51 Gast6971
Solved
13.01.2015 15:36:10 Richard
Solved