Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Methode "Range" für das Objekt'_Global' ist fehlgeschlagen

Forumthread: Methode "Range" für das Objekt'_Global' ist fehlgeschlagen

Methode "Range" für das Objekt'_Global' ist fehlgeschlagen
15.07.2024 13:07:21
DieSara
Hallo,

Ich hab eine Tabelle (kein Bereich) die über eine Userform gefüllt wird.

Die erste Eintragung läuft auch problemlos.
Bei der nächsten Eintragung (Userform wird zwischenzeitlich NICHT geschlossen) erfolgt die Fehlermeldung
Laufzeitfehler '1004': Methode "Range" für das Objekt'_Global' ist fehlgeschlagen.
Wenn ich dann auf "Debuggen" klicke und den Code ausführe funktioniert es, ohne das ich irgendwas gemacht habe.

Kann mir da jemand helfen?



Public Sub Übertrag_click()
Dim Zeile As Range
Dim Lastzeile As Range
Worksheets("Übersicht").Select
Dok_Name = TB_Dok_Name.Text
DOK_ART = CB_Dok_Art.Text
LINK = TB_LINK


Set Zeile = Range("TAB_Übersicht[Dokumente]").Find(What:=Dok_Name, lookat:=xlWhole)
If Not Zeile Is Nothing Then
Msg = MsgBox("Dokument vorhanden. Soll die Ziele überschrieben werden?", vbYesNo)

If Msg = vbNo Then
GoTo ENDE
End If

If Msg = vbYes Then
ZeileNr = Range("TAB_Übersicht[Dokumente]").Find(What:=Dok_Name).Row

'Zeile.Offset(, 1) = CB_Dok_Art.Value
Zeile.Offset(, 2).Select
Zeile.Offset(, 2).Hyperlinks.Add Anchor:=Selection, Address:=TB_LINK.Text, TextToDisplay:="LINK"

If SG = True Then Zeile.Offset(, 3) = "x"
If RF = True Then Zeile.Offset(, 4) = "x"
If BNG = True Then Zeile.Offset(, 5) = "x"
If BOG = True Then Zeile.Offset(, 6) = "x"
If EM = True Then
Zeile.Offset(, 7) = "x"
Zeile.Offset(, 8) = "x"
Zeile.Offset(, 9) = "x"
End If
If IH = True Then Zeile.Offset(, 10) = "x"
If QS = True Then Zeile.Offset(, 11) = "x"
If PP = True Then Zeile.Offset(, 12) = "x"

End If

End If

If Zeile Is Nothing Then
LZ = Range("TAB_Übersicht[Dokumente]").Rows.Count



Set Lastzeile = Range("TAB_Übersicht[[#Headers],[Dokumente]]") --------- HIER WIRD DER FEHLER GEZEIGT


Lastzeile.Offset(LZ, 0) = TB_Dok_Name.Value
Lastzeile.Offset(LZ, 1) = CB_Dok_Art.Value
Lastzeile.Offset(LZ, 2).Select
Lastzeile.Offset(LZ, 2).Hyperlinks.Add Anchor:=Selection, Address:=TB_LINK.Text, TextToDisplay:="LINK"

If SG = True Then Lastzeile.Offset(LZ, 3) = "x"
If RF = True Then Lastzeile.Offset(LZ, 4) = "x"
If BNG = True Then Lastzeile.Offset(LZ, 5) = "x"
If BOG = True Then Lastzeile.Offset(LZ, 6) = "x"
If EM = True Then
Lastzeile.Offset(LZ, 7) = "x"
Lastzeile.Offset(LZ, 8) = "x"
Lastzeile.Offset(LZ, 9) = "x"
End If
If IH = True Then Lastzeile.Offset(LZ, 10) = "x"
If QS = True Then Lastzeile.Offset(LZ, 11) = "x"
If PP = True Then Lastzeile.Offset(LZ, 12) = "x"
Selection.ListObject.ListRows.Add AlwaysInsert:=False
End If


ENDE:


End Sub
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Methode "Range" für das Objekt'_Global' ist fehlgeschlagen
15.07.2024 13:54:18
GerdL
Hallo Sarah!

Set Lastzeile = Range("TAB_Übersicht[[#Headers]"): [[Dokumente]] ")   

?
Oder Beispieltabelle hochladen.

Gruß Gerd
AW: Methode "Range" für das Objekt'_Global' ist fehlgeschlagen
15.07.2024 15:41:29
DieSara
Hallo Gerd, hab jetzt eine Datei hochgeladen :)



Set Lastzeile = Range("TAB_Übersicht[[#Headers]"): [[Dokumente]] ")


hat leider nicht geklappt
Anzeige
AW: Methode "Range" für das Objekt'_Global' ist fehlgeschlagen
16.07.2024 00:21:09
ralf_b
Public Sub Übertrag_click()


Dim rngZeile As Range
Dim Dok_Name$: Dok_Name = TB_Dok_Name.Text
Dim DOK_ART$: DOK_ART = CB_Dok_Art.Text
Dim LINK$: LINK = TB_LINK
Dim lstrow As ListRow

With Worksheets("Übersicht").ListObjects("TAB_Übersicht")
Set rngZeile = .ListColumns("Dokumente").DataBodyRange.Find(What:=Dok_Name, lookat:=xlWhole)
If Not rngZeile Is Nothing Then
Set lstrow = .ListRows(rngZeile.Row - .HeaderRowRange.Row)
If vbNo = MsgBox("Dokument vorhanden. Soll die Zeile überschrieben werden?", vbYesNo) Then Exit Sub
Else
Set lstrow = .ListRows.Add(alwaysinsert:=True)
lstrow.Range(1) = Dok_Name
End If
End With

With lstrow
.Range(2) = DOK_ART
.Range(3).Hyperlinks.Add Anchor:=.Range(3), Address:=TB_LINK.Text, TextToDisplay:="LINK"
.Range(4) = IIf(SG = True, "x", "")
.Range(5) = IIf(RF = True, "x", "")
.Range(6) = IIf(BNG = True, "x", "")
.Range(7) = IIf(BOG = True, "x", "")
.Range(8) = IIf(EM = True, "x", "")
.Range(9) = IIf(EM = True, "x", "")
.Range(10) = IIf(EM = True, "x", "")
.Range(11) = IIf(IH = True, "x", "")
.Range(12) = IIf(QS = True, "x", "")
.Range(13) = IIf(PP = True, "x", "")
End With

End Sub

Public Sub UserForm_Initialize()
With Worksheets("Daten").ListObjects("TAB_Dokumentenart").ListColumns("Dokumentenart").DataBodyRange
'Debug.Print .Parent.Name & "!" & .Address
UserForm1.CB_Dok_Art.RowSource = .Parent.Name & "!" & .Address
End With
End Sub
Anzeige
AW: Methode "Range" für das Objekt'_Global' ist fehlgeschlagen
16.07.2024 14:39:29
DieSara
Vielen Vielen lieben Dank Ralf_b

Funktioniert super und ich lerne wieder was dazu :)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige