Thema Datum  Von Nutzer Rating
Antwort
Rot Schleife in VBA, Daten auslesen
04.07.2013 14:44:14 Hansey
NotSolved

Ansicht des Beitrags:
Von:
Hansey
Datum:
04.07.2013 14:44:14
Views:
1487
Rating: Antwort:
  Ja
Thema:
Schleife in VBA, Daten auslesen

Hallo alle zusammen. Ich habe ein Problem bei der Programmierung eines Makros in Excel 2010.

Ich muss aus 40 mal ein neues Blatt erstellen und aus 2 verschiedenen Dateien Daten auslesen. Habe mir das folgendermaßen gedacht:

 

Dim PfadLeitrechner As String
Dim DateinummerLeitrechner As Integer
Dim PfadAramis As String
Dim DateinummerAramis As Integer
Dim String_DateinummerLeitrechner As String
Dim String_DateinummerAramis As String
Dim Blattnummer As Integer
Dim String_Blattnummer As String




String_DateinummerLeitrechner = CStr(DateinummerLeitrechner)
String_DateinummerAramis = CStr(DateinummerAramis)
String_Blattnummer = CStr(Blattnummer)

DateinummerLeitrechner = 2
DateinummerAramis = 2
Blattnummer = 2



PfadLeitrechner = "V:\1\AA5182_" + String_DateinummerLeitrechner + ".dat"
PfadAramis = "V:\2\AA5182_" + String_DateinummerAramis + "_results.dat"



'
For i = 1 To 40

Dann kommt das Makro. Dort habe ich folgende Veränderungen gemacht:

(1)
'Blattname um hochgezählte Blattnummer ergänzt
Sheets("AA5182_1 (2)").Name = "AA5182_" + String_Blattnummer

(2)
'Pfad zum Leitrechnerdokument durch Variable ersetzt
Workbooks.OpenText Filename:=PfadLeitrechner, Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, _
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array( _
3, 1)), TrailingMinusNumbers:=True


'Pfad zu Aramisfile durch Variable ersetzt
Workbooks.OpenText Filename:=PfadAramis, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, Comma:=False, _
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array( _
3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1)), _
TrailingMinusNumbers:=True


Und zum schluss: Das hochzählen

DateinummerLeitrechner = DateinummerLeitrechner + 1
DateinummerAramis = DateinummerAramis + 1
Blattnummer = Blattnummer + 1
Next i

Der Debugger sagt mir nun, dass er nicht mehreren Blättern den gleichen Namen geben kann. Das passiert an Stelle (1) Im Prinzip ändere ich ja aber die Zahl bei jedem Durchlauf. Habe die zugehörigen Variablen auch schonmal nicht global, also in der for-schleife deklariert. Geht auch nicht.

Des Weiteren ist an Stelle (2) das ganze Rot hinterlegt. Ich hoffe dort ist nur ein Syntatfehler.

 

 

 

Könnt ihr da einen Fehler finden?

Vielen Dank

 

Hansey


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Schleife in VBA, Daten auslesen
04.07.2013 14:44:14 Hansey
NotSolved