Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Importabbruch abfangen

Importabbruch abfangen
20.04.2005 17:50:05
Mark
Hi
Ich starte über ein Makro die Aktualisierung von externen Daten in meiner Datei. Dann kommt ein Fenster, was auch in Ordnung ist, wo abgefragt wird, wo die Datei liegt, die importiert bzw aktualisiert wird. Wenn ich da allerdings die Datei nicht auswähle sondern auf abbrechen klicke, schmeißt er mich in die Tabelle, die der Benutzer eigentlich nie sehen soll und gibt eine Fehlermeldung aus. Kann ich das irgendwie abfangen?
ciao & thx
Mark

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Importabbruch abfangen
20.04.2005 18:05:32
ransi
hallo mark
verrsuchs mal so:
weil ohne deinen code ist das wie im kaffesatzlesen.

Sub was_weiss_ich()
dim xy
dim yz
on error goto fehler
code
exit sub
fehler:
msgbox "Abbrechen geclickt"
End Sub

ransi
Kaffeesatz... :D
20.04.2005 18:34:43
Mark
Hi
evtl, habe ich es nur falsch zusammen kopiert, aber es funktioniert noch net
Hier der Code:

Sub importData()
Dim Msg As String
Msg = "ACHTUNG!!! Alle Inhalte der 'Ausgabetabelle' gehen verloren" & vbCr & "" & vbCr & "Soll der Vorgang fortgesetzt werden?"
Select Case MsgBox(Msg, vbCritical Or vbOKCancel, "Microsoft Excel")
Case vbOK
' OK
Application.Run "Kontoumsätze.xls!Unprotect"
Sheets("Import").Select
'Aktualisierung der Daten
Range("A3").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
'Angleich der Spaltenbreite an den Inhalt
Cells.Select
Cells.EntireColumn.AutoFit
'Formelprobleme für gefilterten Kontonamen und gefilterten Verwendungszweck 1 lösen
Sheets("Import").Select
Range("AI3").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-8]=""Park Mor nasee GmbH & Co.KG"",""Park Moränasee GmbH & Co.KG"",IF(RC[-8]<>"""",RC[-8],IF(RC[-32]="""","""",IF(RC[-24]<>"""",""---"",IF(RC[-9]="""",RC[-26],""---"")))))"
Range("AJ3").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-33]="""","""",IF(RC[-25]="""",""---"",RC[-25]))"
Range("AI3:AJ3").Select
Selection.AutoFill Destination:=Range("AI3:AJ300"), Type:=xlFillDefault
Range("AI3:AJ300").Select
Range("A1").Select
Application.Run "Kontoumsätze.xls!updateOutput"
Application.Run "Kontoumsätze.xls!Unprotect"
'Autofilter 3 auf Nichtleer setzen
Sheets("Ausgabe").Select
Selection.AutoFilter Field:=3, Criteria1:="<>"
Range("A1").Select
'Schutz einschalten
Application.Run "Kontoumsätze.xls!Protect"
Application.ScreenUpdating = True
Case vbCancel
' Abbrechen
Application.Run "Kontoumsätze.xls!Protect"
End Select
End Sub


ciao, danke dir!
Mark
Anzeige
AW: versuch
20.04.2005 19:14:22
ransi


      
hallo mark
allerdings ungetestet weil ich nicht über die diversen makros und dateien verfüge.
Sub importData()
    
Dim Msg As String
    
On Error GoTo fehler:
    Msg = 
"ACHTUNG!!! Alle Inhalte der 'Ausgabetabelle' gehen verloren" & vbCr & "" & vbCr & "Soll der Vorgang fortgesetzt werden?"
    
Select Case MsgBox(Msg, vbCritical Or vbOKCancel, "Microsoft Excel")
    
Case vbOK
        
' OK
        Application.Run "Kontoumsätze.xls!Unprotect"
        Sheets(
"Import").Select
        
'Aktualisierung der Daten
        Range("A3").Select
        Selection.QueryTable.Refresh BackgroundQuery:=
False
        
'Angleich der Spaltenbreite an den Inhalt
        Cells.Select
        Cells.EntireColumn.AutoFit
        
'Formelprobleme für gefilterten Kontonamen und gefilterten Verwendungszweck 1 lösen
        Sheets("Import").Select
        Range(
"AI3").Select
        ActiveCell.FormulaR1C1 = _
            
"=IF(RC[-8]=""Park Mor nasee GmbH & Co.KG"",""Park Moränasee GmbH & Co.KG"",IF(RC[-8]<>"""",RC[-8],IF(RC[-32]="""","""",IF(RC[-24]<>"""",""---"",IF(RC[-9]="""",RC[-26],""---"")))))"
        Range(
"AJ3").Select
        ActiveCell.FormulaR1C1 = _
            
"=IF(RC[-33]="""","""",IF(RC[-25]="""",""---"",RC[-25]))"
        Range(
"AI3:AJ3").Select
        Selection.AutoFill Destination:=Range(
"AI3:AJ300"), Type:=xlFillDefault
        Range(
"AI3:AJ300").Select
        Range(
"A1").Select
        Application.Run 
"Kontoumsätze.xls!updateOutput"
        Application.Run 
"Kontoumsätze.xls!Unprotect"
        
'Autofilter 3 auf Nichtleer setzen
        Sheets("Ausgabe").Select
        Selection.AutoFilter Field:=3, Criteria1:=
"<>"
        Range(
"A1").Select
        
'Schutz einschalten
        Application.Run "Kontoumsätze.xls!Protect"
        Application.ScreenUpdating = 
True
    
Case vbCancel
        
' Abbrechen
        Application.Run "Kontoumsätze.xls!Protect"
    
End Select
Exit Sub
fehler:
MsgBox 
"Abbrechen geclickt"
End Sub
...und versuch mal ohne die 
select auszukommen.
geht bestimmt auch ohne.
ransi 


Anzeige
AW: versuch
20.04.2005 23:09:41
Mark
Servus
- ...und versuch mal ohne die select auszukommen.
- geht bestimmt auch ohne.
- ransi
Meinst du die Case Abfrage? Warum?!?!
Würde mich als Leien mal interessieren.
ciao Mark
AW: versuch
21.04.2005 05:52:17
andre
Range("AJ3").Select
ActiveCell.FormulaR1C1 = _
geht auch so
Range("AJ3").FormulaR1C1 = _
das ist quatsch, so nach dem Motto baue Dein Haus vom Keller bis zum Dach, und dann baue den Keller nochmal ;-)
Range("AI3:AJ300").Select
Range("A1").Select
das ist auch doppelt gemoppelt:
Cells.Select
Cells.EntireColumn.AutoFit
und das hier
Range("A3").Select
Selection.QueryTable.Refresh BackgroundQuery:=False

könnte auch so gehen
Range("A3").QueryTable.Refresh BackgroundQuery:=False

und wenn nicht, es gibt einzelne Fälle, wo Befehle nur mit Selection gehen, aber da gibt es zum Teil auch Lösungswege mit Objekten ...
Grüße, ANdre
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige