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

laufzeitfehler 9: plötzlich gehts nicht mehr

laufzeitfehler 9: plötzlich gehts nicht mehr
Andreas
hallo, habe mal ein makro bekommen das auf knopfdruck daten von einer txt-datei in ein excel blatt übernimmt. hat alles prima funktioniert, jahre lang. jetzt habe ich excel neu installiert, und es kommt folgender fehler:
laufzeitfehler 9: index außerhalb des gültigen bereichs
und wenn ich dann auf debuggen geh kommt:
Set foundpos = ActiveSheet.Range("A:E").Find(What:="#End Header#", LookIn:=xlValue, LookAt:=xlWhole, MatchCase:=True)
diese zeile.
ich kenn mich leider mit VB fast gar nicht aus :-(.
kann mir jemand helfen?

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

Betreff
Benutzer
Anzeige
Dazu müsste man den Code und die Mappe kennen
27.11.2009 18:12:20
NoNet
Hallo Andreas,
eine Fehlermeldung und eine Codezeile sind ja nur "die halbe Wahrheit".
Um den Fehler ausfindig zu machen benötigt man den gesamten Code (zumindest das komplette Makro) und den Aufbau der Mappe und der Tabelle.
Kannst Du nicht die Mappe hier hochladen ?
Gruß, NoNet
AW: Dazu müsste man den Code und die Mappe kennen
27.11.2009 18:41:07
Andreas
hier der gesamte code:
Sub auto_open()
erg = MsgBox("Convert Offline Configuration to MS-Excel ?", vbYesNoCancel, "Convert -  _
Configuration")
If erg = 6 Then process
End Sub
Sub process()
Dim ta(50), tb(50), tc(50), td(50), te(50)
Dim foundpos, kopf
' Verzeichnis wechseln
ChDrive "C"
ChDir "c:\JDapps\Pricebook\Export"
' Öffnen Dialog
configfile = Application.GetOpenFilename(, , "Saved Configuration")
If configfile = False Then Exit Sub
OrgName = ActiveWorkbook.Name
' Öffnen
Workbooks.OpenText Filename:=configfile, Origin _
:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, 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), _
Array(9, 1))
' Einlesen der Maschinen-Konfigurationen
[a1].Select
n = 0
x = 0
While ActiveCell.Value  ""
n = n + 1
If ActiveCell.Value = "CMNT" Then CMNT = n
If ActiveCell.Value = "TRADE" Then Trade = n
If ActiveCell.Value = "VAT" Then VAT = n
If ActiveCell.Value = "PERS" Then PERS = ActiveCell.Offset(0, 5).Value
If ActiveCell.Value = "TITLE" Then titel = ActiveCell.Offset(0, 5).Value
If ActiveCell.Value = "OPTION" Then
x = x + 1
ta(x) = ActiveCell.Offset(0, 3).Value
tb(x) = ActiveCell.Offset(0, 4).Value
tc(x) = ActiveCell.Offset(0, 5).Value
td(x) = ActiveCell.Offset(0, 7).Value
te(x) = ActiveCell.Offset(0, 8).Value
End If
ActiveCell.Offset(1, 0).Select
Wend
ActiveWorkbook.Close
Workbooks.Open Filename:="C:\JDApps\Pricebook\Export\Template.xls"
'Festlegen welcher Bereich als Seitenüberschrift genommen werden soll
kopf = ""
Set foundpos = ActiveSheet.Range("A:E").Find(What:="#End Header#", LookIn:=xlValue, LookAt:= _
xlWhole, MatchCase:=True)
If Not foundpos Is Nothing Then
kopf = Range(Cells(1, 1), foundpos.Offset(-1, 4)).Address
foundpos.Activate
ActiveCell.EntireRow.Delete
End If
'Eintragen Konfiguration
[a1].Select
Set foundpos = ActiveSheet.Range("A:E").Find(What:="#Start Konfig#", LookIn:=xlValue, LookAt:= _
xlWhole, MatchCase:=True)
If Not foundpos Is Nothing Then
If kopf = "" Then
' hier wird festgelegt was alles Überschrift sein soll -
' Vorgabe ist alles bis zur ersten Konfigurationszeile
kopf = Range(Cells(1, 1), foundpos.Offset(0, 4)).Address
End If
foundpos.Activate
StartKonfigRow = ActiveCell.Row
For i = 1 To x
ActiveCell.EntireRow.Insert
ActiveCell.Value = ta(i)
Selection.Font.FontStyle = "Bold"
'Selection.Font.FontStyle = "Fett"
ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.Offset(1, 0).Value = tb(i)
ActiveCell.Offset(1, 1).Value = tc(i)
If td(i) > 0 Then
ActiveCell.Offset(1, 2).Value = te(i)
ActiveCell.Offset(1, 3).Value = td(i)
ActiveCell.Offset(1, 3).NumberFormat = "#,##0.00"
End If
ActiveCell.Offset(2, 0).EntireRow.Insert
ActiveCell.Offset(3, 0).Select
Next i
End If
Set foundpos = ActiveSheet.Range("A:E").Find(What:="#End Konfig#", LookIn:=xlValue, LookAt:= _
xlWhole, MatchCase:=True)
If Not foundpos Is Nothing Then
While ActiveCell.Row() 

Anzeige
und die Mappe!!!!!!!!!!!!!!!!!!!! owT
27.11.2009 23:55:04
Rudi
AW: laufzeitfehler 9: plötzlich gehts nicht mehr
28.11.2009 07:29:20
fcs
Hallo Andreas,
scheinbar nimmt der VBA-Compiler nach der Neueinstallation die Werte der VBA-xlVariablen etwas genauer oder aber die Variable xlValue mit Wert=2 wurde neu eingeführt. Wert 2 für LookIn führt zu dem Fehler.
Ersetze in deinen Prozeduren xlValue durch xlValues oder -4163
Set foundpos = ActiveSheet.Range("A:E").Find(What:="#End Konfig#", LookIn:=xlValues,  _
LookAt:= _
xlWhole, MatchCase:=True)

Gruß
Franz
AW: laufzeitfehler 9: plötzlich gehts nicht mehr
28.11.2009 09:33:39
Andreas
guten morgen franz und allerbesten dank dafür - genau das war es - du kennst dich ja perfekt aus .. da hätte ich bis zum frühjahr danach gesucht :-) - nochmals vielen vielen dank
Anzeige

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige