Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Code Einlesen gezielt unterbrechen | Herbers Excel-Forum


Betrifft: Code Einlesen gezielt unterbrechen von: Bernd
Geschrieben am: 31.01.2010 11:55:07

Hallo, liebe Excel-Gemeinde,

ich habe nachstehenden Code über einen link dieses Excel-Forums erhalten. Mein Problem ist, dass ich die Ausführung des Einlesens nicht abbrechen kann. Wenn ich auf ESC drücke, kommt Meldung "#Bezug" und abschließend der Msg.-Hinweis "Projekte-Verrechnungen' importiert". Wäre sehr dankbar für einen Tipp.

Public Function GetDataClosedWB(SourcePath As String, _
                                SourceFile As String, _
                                sourceSheet As String, _
                                SourceRange As String, _
                                TargetRange As Range) As Boolean

'Holt einen Bereich aus einer _geschlossenen_ Arbeitsmappe
'Nur in VBA zu verwenden; nicht aus einer Tabellenzelle heraus
'© t.ramel@mvps.org

Dim strQuelle       As String
Dim Zeilen          As Long
Dim Spalten         As Byte

Dim i As Integer
Dim x As Integer

   On Error GoTo InvalidInput

   strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & _
               sourceSheet & "'!" & _
               Range(SourceRange).Cells(3, 1).Address(0, 0)   'Cells(Zeile,Spalte)
    

   Zeilen = Range(SourceRange).Rows.Count
   Spalten = Range(SourceRange).Columns.Count

   With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
      .Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
      .Value = .Value
   End With
   
   'evt. übernommene Projektkosten_Summe_wieder eleminieren
   
   x = Worksheets("Projektkosten - Verrechnungen").Cells(1, 1).Select
    For i = 1 To 90
    If Cells(i, 1) = ("Projektkosten gesamt") Then Cells(i, 4).Value = 0
    Next i
   
   
   GetDataClosedWB = True
   Exit Function

InvalidInput:
   MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", _
          vbExclamation, "Get data from closed Workbook"
   GetDataClosedWB = False
End Function
Public Sub HoleDaten_Projektkosten_Verrechnungen()
Dim Pfad            As String
Dim Dateiname       As String
Dim Blatt           As String

   Pfad = "D:\a_temp\"
   Dateiname = "02 Leerblatt Forecast V 2.0"
   Blatt = "Projektkosten - Verrechnungen"

   If GetDataClosedWB(Pfad, _
                      Dateiname, _
                      Blatt, _
                      "A1:F68", _
                      Worksheets("Projektkosten - Verrechnungen").Range("A3")) Then
      MsgBox "Daten 'Projekte-Verrechnungen' importiert"
   End If
   
              
    'Datumsformat sicherstellen nach Import
    Range("E3:F91").Select
    Selection.NumberFormat = "[$-407]mmm/ yy;@"
    
End Sub

Danke, Bernd

  

Betrifft: AW: Code Einlesen gezielt unterbrechen von: Martin Schürf
Geschrieben am: 31.01.2010 12:02:12

Hallo

Mit F8 kannst Du das Makro Schritt für Schritt ausführen lassen.

Gruß artin


  

Betrifft: AW: Code Einlesen gezielt unterbrechen von: Bernd
Geschrieben am: 31.01.2010 12:17:36

Hallo Martin,
danke, aber das Template wird Kollegen zur Verfügung gestellt und diese sollen einfach den code mit esc abbrechen können. Also müsste irgendwie eine Abfrage rein wie "einlesen " oder "abbrechen"

Grüße
Bernd


Beiträge aus den Excel-Beispielen zum Thema "Code Einlesen gezielt unterbrechen "