Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler '9' - probleme mit range()
31.05.2007 12:06:16 Nick
NotSolved
31.05.2007 13:27:39 Rasta
NotSolved

Ansicht des Beitrags:
Von:
Nick
Datum:
31.05.2007 12:06:16
Views:
1685
Rating: Antwort:
  Ja
Thema:
Laufzeitfehler '9' - probleme mit range()
Hallo Leute,

hab ein verzwicktes Problem: soll ein Macro schreiben für eine Tabellenauswertung. Dieses Macro soll es auch ermöglichen ein Diagramm aus der Tabelle zu erstellen. nur sind leider die quelldateien (alles txt-dateien, sortiert, durch tabstops) immer mit unterschiedlich vielen spalten versehen. Habe mir daher erstmal nur eine txt-datei vorgenommen und für diese ein diagramm erstellt und per macro-aufzeichner mir den quellcode geholt. wenn ich nun mit dem code eine andere txt-datei öffne kommt folgender Fehler: "laufzeitfehler '9' - Index ausserhalb gültigen Bereich"

das ist mein programm code dazu
"

Public strDatei As String
Public verzeichnis As String
Dim blnFrage As Boolean


Public Sub CommandButton2_Click()

ChDir verzeichnis
Workbooks.OpenText Filename:=verzeichnis & strDatei, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
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), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array( _
28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array(33, 1), Array(34, 1), _
Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), Array(40, 1), Array( _
41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array(46, 1), Array(47, 1), _
Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), Array(53, 1), Array( _
54, 1), Array(55, 1), Array(56, 1), Array(57, 1))

Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Text").Range( _
"A:A,B:B,C:C,D:D,E:E,F:F,G:G,H:H,I:I,J:J,K:K,L:L,M:M,T:T,U:U,V:V,W:W,X:X,Y:Y,Z:Z,AA:AA,AB:AB" _
), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Werte"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Datum"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = _
"Temparatur in °C / Relaisschaltung"
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlBottom
ActiveChart.HasDataTable = False
ActiveChart.Axes(xlValue).Select
Selection.TickLabels.AutoScaleFont = True
With Selection.TickLabels.Font
.name = "Arial"
.FontStyle = "Standard"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.Background = xlAutomatic
"

das ding ist nun, dass die neue datei, die ich geöffnet habe auch soviele spalten hat wie im range() befehl verlangt werden, also von A bis AB, nur irgendwie reichts nicht aus. was ist denn genau der index und was ist denn nun der gültige bereich? am liebsten wäre mir natürlich auch ein etwas allgemeinerer code für den datenbereich der tabelle, aber dazu müsste ich erstmal eine prozedur schreiben, die die spalten und zeilen der jeweiligen textdatei auswerten kann... hat jmd für soetwas code parat oder kann mir bei meinem problem helfen ?

danke
gruß nick

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 Laufzeitfehler '9' - probleme mit range()
31.05.2007 12:06:16 Nick
NotSolved
31.05.2007 13:27:39 Rasta
NotSolved