Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1608to1612
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

Abfrage am Ende Makro wiederholen

Abfrage am Ende Makro wiederholen
15.02.2018 12:15:08
Michael
Hi,
ich habe ein Makro, das eine Textdatei vom SAP im Excel bearbeitet. Am Ende soll per Messagebox die Frage kommen "Nochmals konvertieren?"
Ich kriegs nicht hin - kann mir jemand bitte helfen?
Das Ende sieht so aus - per Messagebox frage ich, ob die Sachnummer erstellt werden soll. Klicke ich auf JA, läuft das Makro bis zum Schluß durch. Klicke ich auf NEIN, wird das Makro beendet.
Hier der Code vom Ende
.
.
.
a = MsgBox("SACHNUMMER ERSTELLEN", 'Abfrage,ob Sachnummer vervollständigt werden soll
If a = vbNo Then Exit Sub
Range("H2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-4],FIND("" "",RC[-4]))"
Range("I2").Select
ActiveCell.FormulaR1C1 = "=TRIM(RC[-1])"
Range("J2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-1],RC[-5])"
Range("J2").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=LEFT(RC[-4],FIND("" "",RC[-4])-1)"
Range("H2").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("G:J").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
'_______________Spalten A bis F werden angepasst, Markierung auf A1______________
Columns("A:F").EntireColumn.AutoFit
Range("A1").Select
End Sub
Der Anfang sieht so aus
.
.
Sub Stueli_Standard()
'Formartiert TXT-File vom SAP (ZSTLF) und speichert die Stückliste als xlsx im Pfad "G:\DATENAUSTAUSCH_HELIX-ACAD\Stückliste" ab!
' Letzte Änderung: 20.01.2018
MsgBox ("KOPF- und FUßZEILE anpassen!!!!")
Dim oFileDialog As FileDialog
Dim strStartPath As String
strStartPath = "G:\DATENAUSTAUSCH_HELIX-ACAD\Stückliste"
Set oFileDialog = Application.FileDialog(msoFileDialogOpen)
With oFileDialog
.Title = "Hola, que tal? Welche Textdatei soll geöffnet werden?"
.InitialFileName = strStartPath & "\*.txt"
.AllowMultiSelect = False
If .Show = True Then
path = oFileDialog.SelectedItems(1)
End If
Workbooks.Open Filename:=path
End With
'_____________________Hier werden die Spaltenbreiten erstellt_____________________
Workbooks.OpenText Filename:=path, Origin:=28591, _
StartRow:=1, DataType:=xlFixedWidth, FieldIn................................
Ich hoffe ich hab es verständlich gemacht.
Danke mal

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage am Ende Makro wiederholen
15.02.2018 12:28:46
Rudi
Hallo,
also das Makro nochmal ausführen?

If MsgBox("nochmal?", vbYesNo) = vbYes Then call Stueli_Standard
End Sub
Gruß
Rudi
AW: Abfrage am Ende Makro wiederholen
15.02.2018 13:30:41
Michael
Hallo Rudi,
erst mal danke für Deine Hilfe.
GENAU, das Makro nochmal ausführen. Aber wo setze ich Deinen String ein?
Ich habe ja in meinem Beispiel die Abfrage "SACHNUMMER ERSTELLEN". Wenn ich hier auf
Nein klicke, ist das Makro beendet. Also danach Deine Abfrage einfügen geht schon mal nicht.
Mache ich es davor, kommt es ja gar nicht mehr zu meinem letzten Teil, wenn ich die
Sachnummer erstellen will. Weisst wie meine?
Anzeige
vor End Sub owT
15.02.2018 14:31:04
Rudi
AW: vor End Sub owT
15.02.2018 14:43:45
Michael
Hmmm,
das geht doch nicht. Wenn ich bei Sachnummer oben auf "NEIN" klicke in der Msgbox, dann endet doch das Makro hier und läuft gar nicht mehr runter bis End Sub.
If a = vbNo Then Exit Sub
letzter Versuch
15.02.2018 14:52:09
Rudi

If a = vbYes Then
'Code
Else
If MsgBox("nochmal?", vbYesNo) = vbYes Then call Stueli_Standard
End If
End Sub

AW: letzter Versuch
15.02.2018 15:15:02
Michael
Ich hab`s hinbekommen Rudi,
VIELEN DANK ;-)
a = Msgbox("SACHNUMMER ERSTELLEN", vbYesNo) 'Abfrage, ob Sachnummer vervollständigt werden soll
If a = vbYes Then
Range("H2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-4],FIND("" "",RC[-4]))"
Range("I2").Select
ActiveCell.FormulaR1C1 = "=TRIM(RC[-1])"
Range("J2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-1],RC[-5])"
Range("J2").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=LEFT(RC[-4],FIND("" "",RC[-4])-1)"
Range("H2").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("G:J").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Else
If Msgbox("nochmal?", vbYesNo) = vbYes Then Call Stueli_Standard
End If
Columns("A:F").EntireColumn.AutoFit
Range("A1").Select
If Msgbox("Nochmal konvertieren?", vbYesNo) = vbYes Then Call Stueli_Standard
End Sub
Anzeige
AW: letzter Versuch
15.02.2018 15:47:39
Michael
Eine Frage noch Rudi,
kannst Du Dir erklären, warum ich bei der letzten Msgbox (kurz vor End Sub ) bei NEIN zweimal
auf NEIN klicken muß damit das Programm beendet wird?
Sub Stüli()
a = Msgbox("SACHNUMMER  ERSTELLEN", vbYesNo)                                    'Abfrage, ob  _
Sachnummer vervollständigt werden soll
If a = vbYes Then
Range("H2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-4],FIND("" "",RC[-4]))"
Range("I2").Select
ActiveCell.FormulaR1C1 = "=TRIM(RC[-1])"
Range("J2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-1],RC[-5])"
Range("J2").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=LEFT(RC[-4],FIND(""  "",RC[-4])-1)"
Range("H2").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("G:J").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Else
If Msgbox("Nochmal konvertieren?", vbYesNo) = vbYes Then Call Stueli_Standard
End If
'___Spalten A bis F werden angepasst, Markierung auf A1_________
Columns("A:F").EntireColumn.AutoFit
Range("A1").Select
a = Msgbox("Nochmal konvertieren?", vbYesNo)
If a = vbNo Then Exit Sub
If a = vbYes Then Call Stueli_Standard
End Sub

Anzeige
AW: letzter Versuch
20.02.2018 08:01:46
Michael
Morgen Rudi,
könntest Dir das BITTE noch anschauen?
DANKE
AW: letzter Versuch
21.02.2018 18:35:48
Oberschlumpf
Hi Michael
...weil du du JA/NEIN-Frage 2x stellst:

Else
If Msgbox("Nochmal konvertieren?", vbYesNo) = vbYes Then Call Stueli_Standard '1. Frage
End If
'___Spalten A bis F werden angepasst, Markierung auf A1_________
Columns("A:F").EntireColumn.AutoFit
Range("A1").Select
a = Msgbox("Nochmal konvertieren?", vbYesNo) '2. Frage
If a = vbNo Then Exit Sub
If a = vbYes Then Call Stueli_Standard

Wenn du beim 1. Mal "NEIN" wählst, wird der restliche Code ausgeführt...Spaltenbreitenanpassung, Markierung von Zelle A1, usw.
und dann kommt die "Noch mal konvertieren"-Frage ein 2. Mal
Lösch einfach die untere Frage inklusive If a = vbNo... und If a = vbY_es...
Hilfts?
Wenn nein, dann weiß ich auch nix weiter.
Ciao
Thorsten
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige