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

Code bei Abbruch beenden

Code bei Abbruch beenden
10.04.2009 14:40:52
Mandy
Hi zusammen,
ich habe folgendes Problem:
Ich habe eine Sub, die sieht ungefähr so aus:

Sub Test()
Call irgendwas1
Call irgendwas2
Call irgendwas3
Call irgendwas4
End Sub


in irgendwas1 zB wird der Öffnen-Dialog gestartet, dass ich eine Datei auswählen kann. Wenn ich dort in diesem Dialog auf "abbrechen" gehe, wird dieser Dialog geschlossen und der restliche Code geht weiter mit:
Call irgendwas2
Call irgendwas3
Call irgendwas4
So , nun zu meinem Problem: wenn ich in diesem Öffnen-Dialog abbreche oder auf das Kreuz klicke, soll dieser geschlossen werden, aber ich will dann nicht, dass es mit
Call irgendwas2
Call irgendwas3
Call irgendwas4
weiter geht.
Kann ich in meiner beschriebenen Sub, wenn es in call irgendwas1 zum abbruch kommt, auch _ anhalten und aus dieser "


Sub Test" aussteigen ?
Danke für Eure HIlfe.
Mandy


		

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code bei Abbruch beenden
10.04.2009 14:46:56
ransi
HAllo
Welchen "Öffnen-Dialog" nutzt du, und wie rufst du ihn auf ?
ransi
so....
10.04.2009 14:51:35
Mandy

Sub Einlesen()
Dim strTxt As String, myArr, lngL As Long, wks As Worksheet
Dim strFile As String
With Application.FileDialog(1)
.AllowMultiSelect = False
.InitialFileName = "d:\test\*.txt*"
.InitialView = 2
If .Show = -1 Then
strFile = .SelectedItems(1)
End If
End With
If strFile = "" Then UserForm1.TextBox3 = "1"
If strFile = "" Then Exit 

Sub 'hier wird abgebrochen
If strFile  "" Then
lngL = 1
Open strFile For Input As #1
Set wks = ThisWorkbook.Sheets("Temp")
Do Until EOF(1)
Line Input #1, strTxt
myArr = Split(strTxt, vbTab)
With wks
.Range(.Cells(lngL, 1), .Cells(lngL, UBound(myArr) + 1)) = myArr
End With
lngL = lngL + 1
Loop
Close #1
End If
End Sub


Anzeige
AW: so....
10.04.2009 15:03:52
ransi
HAllo MAndy
Versuchs mal so:
If .Show = -1 Then
    strFile = .SelectedItems(1)
    Else: End
End If

ransi
wohin muss das ? oT
10.04.2009 15:30:44
Mandy
AW: so....
10.04.2009 15:55:00
ransi
HAllo MAndy
Ich dachte der Code wäre von dir.
Da gehört das hin:
Option Explicit
Sub Einlesen()

Dim strTxt As String, myArr, lngL As Long, wks As Worksheet
Dim strFile As String

With Application.FileDialog(1)
    .AllowMultiSelect = False
    .InitialFileName = "d:\test\*.txt*"
    .InitialView = 2
    If .Show = -1 Then
        strFile = .SelectedItems(1)
        '##############
        '##############
        Else: End '#### Abbrechen oder Schließkreuz beendet den Code.
        '##############
        '##############
    End If
End With

If strFile = "" Then UserForm1.TextBox3 = "1"
If strFile = "" Then Exit Sub 'hier wird abgebrochen

If strFile <> "" Then
    lngL = 1
    Open strFile For Input As #1
    Set wks = ThisWorkbook.Sheets("Temp")
    Do Until EOF(1)
        Line Input #1, strTxt
        myArr = Split(strTxt, vbTab)
        With wks
            .Range(.Cells(lngL, 1), .Cells(lngL, UBound(myArr) + 1)) = myArr
        End With
        lngL = lngL + 1
    Loop
    Close #1
End If

End Sub


ransi
Anzeige
Danke ransi, hier habe ich das Problem auch ....
10.04.2009 16:21:05
Mandy

Sub Holen()
Dim wbZiel As Workbook
Dim wbQuelle As Workbook
Dim varWB_Quelle, wks_Quelle
Set wbZiel = ActiveWorkbook
varWB_Quelle = Application.GetOpenFilename(Filefilter:="Excel(*.xl*),*.xl*", _
Title:="Bitte auswählen")
If varWB_Quelle  False Then
Set wbQuelle = Application.Workbooks.Open(Filename:=varWB_Quelle, ReadOnly:=True)
Application.CutCopyMode = False
wbQuelle.Sheets.Copy after:=wbZiel.Sheets(wbZiel.Sheets.Count)
wbQuelle.Close savechanges:=False
End If
End Sub


Gleiches Strickmuster
10.04.2009 16:25:36
ransi
HAllo MAndy
If prüfung=true then
Dein weiterer Code
else:End
end if
Da machst du genau das gleiche:

Sub Holen()

Dim wbZiel As Workbook
Dim wbQuelle As Workbook
Dim varWB_Quelle, wks_Quelle
Set wbZiel = ActiveWorkbook
varWB_Quelle = Application.GetOpenFilename(Filefilter:="Excel(*.xl*),*.xl*", _
    Title:="Bitte auswählen")
If varWB_Quelle <> False Then
    Set wbQuelle = Application.Workbooks.Open(Filename:=varWB_Quelle, ReadOnly:=True)
    
    Application.CutCopyMode = False
    wbQuelle.Sheets.Copy after:=wbZiel.Sheets(wbZiel.Sheets.Count)
    wbQuelle.Close savechanges:=False
    '############
    Else: End '##
    '############
End If

End Sub

ransi
Anzeige
Vielen Dank :-)
10.04.2009 18:34:27
Mandy

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige