Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Index außerhalb des gültigen Bereiches

Index außerhalb des gültigen Bereiches
11.08.2005 09:35:12
Josef
Hallo!
Obwohl das Arbeitsblatt "Binf neu (2)" aktiviert ist bekomme ich die Fehlermeldung "Index außerhalb des gültigen Bereiches" Laufzeitfehler 9.
Wo könnte hier bitte der Fehler im Code sein?


Private Sub cboListe_Click()
If blnInit = False Then
With Sheets("Binf neu (2)").Cells(Range("AE65536").End(xlUp).Row + 1, 31)
.Value = bhztxt6.Text
End With
End If
End Sub

Mit

Private Sub cboListe_Click()
If blnInit = False Then
Cells(Range("AE65536").End(xlUp).Row + 1, 31)
.Value = bhztxt6.Text
End With
End If
End Sub

funktioniert alles bestens, ich möchte jedoch das Arbeitsblatt direkt ansprechen.

Danke
Josef

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:00:29
Unbekannter Nummer Eins
Heißt das Blatt so oder ist die 2 der Index,wenn das so ist:Nur Index oder Name
("Binf neu (2)")??
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:05:48
Josef
Hallo UN1!
Das Blatt heißt so

Josef
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:09:00
Unbekannter Nummer Eins
Wegen dem *.text erkläre mal bitte was das machen soll.
.Value = bhztxt6.Text??
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:13:55
Josef
Hallo!
In ein Modul
Public blnInit As Boolean
In der UserForm

Private Sub cboListe_Click()
If blnInit = False Then
Cells(Range("AE65536").End(xlUp).Row + 1, 31)
.Value = bhztxt6.Text   'Der Wert von der TextBox bhztxt6.Text wird in der Spalte AE (31) in die nächste freie Zelle geschrieben.
End With
End If
End Sub

Josef
Anzeige
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:20:44
Unbekannter Nummer Eins
Bei Cells(Range("AE:AE").End(xlUp).Row + 1, 31) was erhälts du da für ein wert??
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:23:35
Josef
Der Wert welcher nach dem Aufruf der Userform in der ComoboBox aktiviert wird. dieser Wert wird in die Zelle eingetragen.

Josef
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:29:17
Josef
Hallo!
Fehlerteufel:

Falsch:
Der Wert welcher nach dem Aufruf der Userform in der ComoboBox aktiviert wird. dieser Wert wird in die Zelle eingetragen.
Richtig:
Der Wert welcher nach dem Aufruf der Userform und der ComoboBox in der bhztxt6 aktiviert wird. dieser Wert wird in die Zelle eingetragen.

Josef
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:16:02
IngGi
Hallo Josef,
ich nehme mal an, "bhztxt6" ist ein Textfeld oder eine Listbox oder dergleichen auf deinem Tabellenblatt "Binf neu (2)". Dann müsste das so funktionieren:

Private Sub cboListe_Click()
If blnInit = False Then
With Sheets("Binf neu (2)")
.Cells(Range("AE65536") _
.End(xlUp).Row + 1, 31).Value = .bhztxt6.Text
End With
End If
End Sub
Gruß Ingolf
Anzeige
AW: Index außerhalb des gültigen Bereiches
11.08.2005 10:20:59
Josef
Hallo Ingolf!
Danke für Deine Antwort.
Funktioniert leider nicht. Es kommt die gleiche Fehlermeldung.

Josef
AW: Index außerhalb des gültigen Bereiches
11.08.2005 11:07:20
IngGi
Hallo Josef,
bist du sicher, dass der Name des Tabellenblattes richtig geschrieben ist? Lass mal folgendes Makro laufen. Welche Nachricht erhältst du?

Sub Blatt_finden()
Dim wks As Worksheet
Dim str As String
Dim obj As OLEObject
For Each wks In ThisWorkbook.Sheets
If wks.Name = "Binf neu (2)" Then
str = "Blatt gefunden."
For Each obj In wks.OLEObjects
If obj.Name = "TextBox1" Then
str = str & " Textbox gefunden."
Exit For
End If
Next obj
Exit For
Else
str = "Blatt nicht gefunden."
End If
Next wks
MsgBox str
End Sub
Gruß Ingolf
Anzeige
AW: Index außerhalb des gültigen Bereiches
11.08.2005 11:45:42
Josef
Hallo Ingolf!
Durchgeführt und Blatt gefunden.

Josef
AW: Index außerhalb des gültigen Bereiches
11.08.2005 11:51:25
Unbekannter Nummer Eins
Lade mal deine Mappe hoch.
AW: Index außerhalb des gültigen Bereiches
11.08.2005 12:40:32
Josef
Hallo UN1!
hier ist die Datei mit zwei UserForms:
UserForm fSUBKAPITEL passt alles, Daten werden eingetragen.
UserForm fBHZ past gar nichts.
https://www.herber.de/bbs/user/25520.xls
hier ist eine musterdatei: muß in BHZ_DB2.xls umbenannt werden.

Die Datei https://www.herber.de/bbs/user/25521.xls wurde aus Datenschutzgründen gelöscht

Die Daten für die UF fSUBKAPITEL werden aus der Datei 25520.xls aus der Tabelle1 geholt.
Die Daten für die fBHZ werden aus einer externen Datei 25521.xls geholt.
Danke

Josef
Anzeige
AW: Index außerhalb des gültigen Bereiches
11.08.2005 14:06:06
UN1
Hallo!
Also den Fehler warum bei der UserForm fBHZ nichts von der bhztxt6.TEXT in die Zelle eingetragen wird, dürfte ich gefunden haben:
Workbooks.Open "H:\SVA_Import\BHZ_DB2.xls", False

Private Sub cboListe_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If bln1Init = False Then
With Cells(Range("A65536").End(xlUp).Row + 1, 1)  'ohne With Sheets("Binf neu (2)")
.Cells(Range("A65536").End(xlUp).Row + 1, 1)
.Value = bhztxt6.Text
End With
End If
End Sub

diese Zeile (Workbooks.Open "H:\SVA_Import\BHZ_DB2.xls", False) brauche ich doch, wie soll ich sonst die Arbeitsmappe BHZ_DB2.xls unsichtbar und im Hintergrund öffnen?
Josef
Anzeige
Entschuldigung ! Josef und nicht UN1 ist mein Name
11.08.2005 14:07:58
Josef
Hallo Un1!
tut mir leid. kommt nicht mehr vor.
Josef
eh
11.08.2005 14:32:09
Unbekannter Nummer Eins
würdest du bitte nicht mein Namen klauen!!!!
AW: Index außerhalb des gültigen Bereiches
11.08.2005 14:09:59
IngGi
Hallo Josef,
die Textbox bhztxt6 ist nicht auf dem Tabellenblatt, sondern auf der Userform fBHZ. Das musst du natürlich mit angeben. Versuch' mal das:

Private Sub cboListe_Click()
If blnInit = False Then
With Sheets("Binf neu (2)").Cells(Range("AE65536").End(xlUp).Row + 1, 31)
.Value = fBHZ.bhztxt6.Text
End With
End If
End Sub
Gruß Ingolf
AW: Index außerhalb des gültigen Bereiches
11.08.2005 14:39:37
Josef
Hallo Ingolf!
Leider noch immer der gleiche Fehler.

Josef
AW: Index außerhalb des gültigen Bereiches
11.08.2005 14:45:57
Unbekannter Nummer Eins
Jo,Josef.Tut mir leid das ich erst jetzt wieder Antworte, aber wie du dur ja sicher vorstellen kannst muss ich ich mal arbeiten wärend der Arbeit(klinkt komisch ,ist aber so),also würdest du mir bitte noch mal schnell ne Zusammenfassung geben von dem was jetzt geht und was nicht.
Gruß UN1
Anzeige
AW: Index außerhalb des gültigen Bereiches
11.08.2005 15:01:19
Josef
Hallo Un1!
Zuallererst tut mir leid mein ausrutscher mit Deinem Namen.Sorry.
Also:
Wenn ich beim Makro folgendes ändere:
Sub Start_UF6()
'On Error Resume Next auf Rem gesetzt
'Sheets("Binf neu (2)").Select auf Rem gesetzt
Application.ScreenUpdating = False
'Workbooks.Open "H:\SVA_Import\BHZ_DB2.xls", False auf Rem gesetzt,
fBHZ.Show
End Sub
dann würde der Wert aus der bhztxt.6.Text in die Spalte AE in die nächste freie Zelle geschrieben werden.

Aber nur mit dieser Version und wenn die Datei BHZ_DB2.xls bereits geöffnet ist:

Private Sub cboListe_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If bln1Init = False Then
With Cells(Range("AE65536").End(xlUp).Row + 1, 31)
.Value = bhztxt6.Text
End With
End If
fBHZ.Show
End Sub

Mit dieser Version nicht:

Private Sub cboListe_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If blnInit = False Then
With Sheets("Binf neu (2)").Cells(Range("AE65536").End(xlUp).Row + 1, 31)
.Value = fBHZ.bhztxt6.Text
End With
End If
End Sub


Jedoch mit dieser Version des Startmakros (Aufruf der UF)
geht gar nichts:
Sub Start_UF6()
On Error Resume Next
Sheets("Binf neu (2)").Select
Application.ScreenUpdating = False
Workbooks.Open "H:\SVA_Import\BHZ_DB2.xls", False
fBHZ.Show
End Sub

Es wird zwar die UF geöffnet, im Hintergrund wird die Datei BHZ_DB2.xls nicht sichtbar geöffnet aber es erfolgt kein Eintrag in die richtige Zelle. bhztxt6.Text in Spalte AE nächste freie Zelle.
Die Arbeitsmappe BHZ_DB2.xls soll aber im Hintergrund geöffnet werden, daher bräuchte ich ja diesen Eintrag:
Application.ScreenUpdating = False
Workbooks.Open "H:\SVA_Import\BHZ_DB2.xls", False

oder?

Josef
Anzeige
AW: Index außerhalb des gültigen Bereiches
11.08.2005 15:14:19
Josef
Muß jetzt leider nach Hause gehen. Melde mich später wieder von zu Hause.
Josef
AW: Index außerhalb des gültigen Bereiches
11.08.2005 15:24:40
Unbekannter Nummer Eins
Was soll der Befehl machen??Wenn er zählen soll ist er falsch,dass würde auch erklären warum du ein Index fehler erhältst weil dieser Befehl keinen wert wiedergibt
Sheets(1).Cells(Range("AE65536").End(xlUp).Row, 31)

Probiere mal den:
Sheets(1).Cells(Rows.Count, 31).End(xlUp).Row
AW: Index außerhalb des gültigen Bereiches
11.08.2005 20:25:39
Josef
Hallo UN1
Mit diesem Code bekomme ich den Fehler "Object erforderlich und .value = bhztxt6.Text wird markiert.

Private Sub cboListe_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If bln1Init = False Then
'With Cells(Range("A65536").End(xlUp).Row + 1, 1)
With Sheets("Tabelle1").Cells(Rows.Count, 31).End(xlUp).Row
.Value = bhztxt6.Text
End With
End If
End Sub


Josef
Anzeige
Lösung gefunden
12.08.2005 06:35:59
Josef
Guten Morgen!
Hallo UN1! Hallo Ingolf!
Durch Zufall im Archiv Schnipsel gefunden:
Statt
Sub Start_UF6()
On Error Resume Next
Sheets("Binf neu (2)").Select
Application.ScreenUpdating = False
Workbooks.Open "H:\SVA_Import\BHZ_DB2.xls", False
fBHZ.Show
End Sub
NEU:
Sub Start_UF6()
Dim appOffice As Workbook
On Error Resume Next
Sheets("Binf neu (2)").Select

Application.ScreenUpdating = False
'Workbooks.Open "H:\SVA_Import\BHZ_DB2.xls", False
Set appOffice = GetObject("H:\SVA_Import\BHZ_DB2.xls")
'appOffice.Visible = True
fBHZ.Show
End Sub
Falsch war: Workbooks.Open "H:\SVA_Import\BHZ_DB2.xls", False
Damit funktioniert auch Ingolfs Vorschlag bestens:

Private Sub cboListe_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If bln1Init = False Then
With Sheets("Binf neu (2)").Cells(Range("AE65536").End(xlUp).Row + 1, 31)
.Value = fBHZ.bhztxt6.Text
End With
End If
End Sub


Danke für Eure Hilfe und Eure Geduld.

Josef
Anzeige
AW: noch ein kleiner Schönheitsfehler
12.08.2005 07:36:19
Josef
Hallo nochmals!
In die Textboxen werden dreistellige Zahlen (003,002,036 usw.)eingelsen. Beim Übertrag in das Arbeitsblatt bekomme ich jedoch nur den Eintrag (3,2,36 usw.)Wo müßte ich bitte den Formatbefehl "000" setzen" damit die Zahlen dreistellig eingetragen werden?
With Sheets("Binf neu (2)").Cells(Range("AE65536").End(xlUp).Row + 1, 31)
.Value = fBHZ.bhztxt6.Text
End With
Danke

Josef

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige