Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
224to228
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
224to228
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kürzere Version dieses Makros

Kürzere Version dieses Makros
26.02.2003 12:14:08
Andreas
Hallo Excelfreunde,

wenn jemand von euch mal etwas mehr Zeit haben sollte, könnte mir vielleicht einmal einen Tipp geben, wie ich folgendes Makro abkürzen bzw. professioneller gestalten kann... ;-)

Danke für eure Hilfe

Andreas

---------------------------

Sub Auslesen()

Application.ScreenUpdating = False

On Error GoTo Errorhandler

strPath = Sheets("Start").Range("Zielordner").Value
arrFiles = FileArray(strPath, "DBTippgeschäft*.txt")
Close

Sheets("Tippgeschäft").Select
Sheets("Tippgeschäft").Range("A6").Select

If Sheets("Tippgeschäft").Range("A6").Value <> "" Then
ergebnis2 = MsgBox("Tippgeschäft: Es befinden sich Daten auf dem Arbeitsblatt! Für Überschreiben drücken Sie 'JA', für Abbrechen 'Nein'!", vbYesNo + vbQuestion)
If ergebnis2 = vbYes Then
intRow = 6
GoTo Tippfüllen
Else: End If
GoTo Ende
Else: End If
intRow = 6
GoTo Tippfüllen

Tippanhängen:

While ActiveSheet.Cells(intRow, 1).Value <> ""
intRow = intRow + 1
GoTo Tippanhängen
Wend
GoTo Tippfüllen

Tippfüllen:

For intCounter = 1 To UBound(arrFiles)
Cells(intRow, 1) = arrFiles(intCounter)
Open strPath & arrFiles(intCounter) For Input As #1
Do Until EOF(1)
Line Input #1, txt
intRow = intRow + 1
Cells(intRow, 1) = txt
Loop
Close

intRow = intRow + 1

Next intCounter

arrFiles = FileArray(strPath, "DBUmsetzungsbegleitung*.txt")
Close

Sheets("Umsetzungsbegleitung").Select
Sheets("Umsetzungsbegleitung").Range("A6").Select

If Sheets("Umsetzungsbegleitung").Range("A6").Value <> "" Then
ergebnis3 = MsgBox("Umsetzungsbegleitung: Es befinden sich Daten auf dem Arbeitsblatt! Für Überschreiben drücken Sie 'JA', für Abbrechen 'Nein'!", vbYesNo + vbQuestion)
If ergebnis3 = vbYes Then
intRow = 6
GoTo Umsetzungfüllen
Else: End If
GoTo Ende
Else: End If
intRow = 6
GoTo Umsetzungfüllen

Umsetzunganhängen:

While ActiveSheet.Cells(intRow, 1).Value <> ""
intRow = intRow + 1
GoTo Umsetzunganhängen
Wend
GoTo Umsetzungfüllen

Umsetzungfüllen:

For intCounter = 1 To UBound(arrFiles)
Cells(intRow, 1) = arrFiles(intCounter)
Open strPath & arrFiles(intCounter) For Input As #1
Do Until EOF(1)
Line Input #1, txt
intRow = intRow + 1
Cells(intRow, 1) = txt
Loop
Close

intRow = intRow + 1

Next intCounter

arrFiles = FileArray(strPath, "DBVorsorgeerfolgsbericht*.txt")
Close

Sheets("Vorsorgeerfolgsbericht").Select
Sheets("Vorsorgeerfolgsbericht").Range("A6").Select

If Sheets("Vorsorgeerfolgsbericht").Range("A6").Value <> "" Then
ergebnis4 = MsgBox("Vorsorgeerfolgsbericht: Es befinden sich Daten auf dem Arbeitsblatt! Für Überschreiben drücken Sie 'JA', für Abbrechen 'Nein'!", vbYesNo + vbQuestion)
If ergebnis4 = vbYes Then
intRow = 6
GoTo Vorsorgeerfolgsberichtfüllen
Else: End If
GoTo Ende
Else: End If
intRow = 6
GoTo Vorsorgeerfolgsberichtfüllen

Vorsorgeerfolgsberichtanhängen:

While ActiveSheet.Cells(intRow, 1).Value <> ""
intRow = intRow + 1
GoTo Vorsorgeerfolgsberichtanhängen
Wend
GoTo Vorsorgeerfolgsberichtfüllen

Vorsorgeerfolgsberichtfüllen:

For intCounter = 1 To UBound(arrFiles)
Cells(intRow, 1) = arrFiles(intCounter)
Open strPath & arrFiles(intCounter) For Input As #1
Do Until EOF(1)
Line Input #1, txt
intRow = intRow + 1
Cells(intRow, 1) = txt
Loop
Close

intRow = intRow + 1

Next intCounter

MsgBox ("Daten wurden erfolgreich eingelesen")

Sheets("Start").Select
Sheets("Start").Range("A1").Select

GoTo Ende

Errorhandler:

MsgBox ("Es ist ein Fehler aufgetreten, möglicherweise befinden sich keine auszulesenden Textdateien im angegebenen Verzeichnis")

Ende:

Application.ScreenUpdating = False

End Sub

-------------------------------

Danke

Andreas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Kürzere Version dieses Makros
26.02.2003 12:24:08
Otto Ecker

Hallo Andreas,

vorab schon mal ein Tip: Verwende - außer für Errorhandler -keine Sprungmarke. Packe den Code (deine Sprungmarken) in ein separates Modul. Das macht die Sache wesentlich übersichtlicher.

Verzichte auf das .Select. Referenziere z.B.

set wks = worksheets("Tippgeschäft") und dann später

if wks.range("A6").value<>"" then
usw.


Gruß Otto


Danke...
27.02.2003 10:47:07
Andreas

Hallo Otto, vielen Dank für die Hinweise...!

Wünsche noch einen schönen Tag.

Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige