Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler im Code

Fehler im Code
31.05.2006 19:01:54
Reinhard
Hallo Wissende,
heute ist wohl nicht mein bester Vbatag, stoße da auf seltsame Fehler :-(
Option Explicit
Sub Makro1()
Dim zei As Long
For zei = 1 To Range("A65536").End(xlUp).Row
ActiveSheet.Hyperlinks.Add Anchor:=Cells(zei, 2), Address:="c:\download\" & Cells(zei, 1), TextToDisplay:=Cells(zei, 1)
Next zei
End Sub

erzeugt Laufzeitfehler 5.
und bei
DieseArbeitsmappe:
Option Explicit
Private Sub Workbook_Open()
farbe = Range("A1").Interior.ColorIndex
Range("A1").Interior.ColorIndex = 19
Set lastcell = Range("A1")
Wert = Range("A1").Value
Application.EnableEvents = False
Range("A1").Select
Application.EnableEvents = True
End Sub
<b>Tabelle1:</b>
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Modus As Integer
ActiveSheet.Unprotect
If Target.Count > 1 Then Exit Sub
Wert = lastcell.Value
Modus = Application.CutCopyMode
lastcell.Interior.ColorIndex = farbe
farbe = Target.Interior.ColorIndex
Target.Interior.ColorIndex = 19
Application.EnableEvents = False
Select Case Modus
Case 1
lastcell.Copy Destination:=Target
Modus = 0
Application.CutCopyMode = 0
Target.Interior.ColorIndex = 19
Case 2
lastcell.Cut Destination:=Target
Modus = 0
Application.CutCopyMode = 0
Target.Interior.ColorIndex = 19
End Select
Application.EnableEvents = True
Set lastcell = Target
End Sub
<b>Modul1:</b>
Option Explicit
Public Wert As Variant
Public lastcell As Range
Public farbe As Integer

ist gelegentlich lastcell leer und es gibt ne Fehlermeldung. Mir alles unerklärlich, lastcell wird mit Set "gesetzt" z.B in Workbook_Open und dann im Code, wieso issen die Variable dann irgendwann "leer" ?
Gruß
Reinhard

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im Code
31.05.2006 19:19:41
K.Rola
Hallo,
hat die Mappe nur ein Blatt? Wenn nicht, gib in Workbook_Open den Blattnamen mit an.
Ansonsten sollte der Editor immer geschlossen sein, wenn Public-Variable verwendet werden.
Gruß K.Rola
AW: Fehler im Code
31.05.2006 19:43:11
Reinhard
Hallo K.Rola,
...hat die Mappe nur ein Blatt? Wenn nicht, gib in Workbook_Open den Blattnamen mit an....
ich denke/dachte, wenn ich in einem Modul eine Variable deklariere ist die global gültig und in DieseArbeitsmappe reicht:

Private Sub Workbook_Open()
Merker = "irgendwas"
End Sub

sofern ich in einem Modul Merker als
Public Merker as Variant
definiert/deklariert habe.
...Ansonsten sollte der Editor immer geschlossen sein, wenn Public-Variable verwendet werden...
Das verstehe ich nicht, werde es aber austesten. Mir ist klar wenn ich Sendkeys o.ä. benutze dass es dann einen Unterschied gibt ob ich das im Editor mit F5 starte oder über eine Scaltfläche in Excel. Den Zusammenhang zwischen Editor offen und Public bei Variablen verstehe ich grad überhaupt nicht :-(
Naja, wie gesagt, heute ist nicht mein Vba-Verstehtag :-)
Lieben Gruß
Reinhard
Anzeige
AW: Fehler im Code
31.05.2006 19:49:00
K.Rola
Hallo,
wenn du so referenzierst:
Set lastcell = Range("A1")
wird A1 des aktiven Blatts genommen, wenn das so gewollt ist, ist es ja ok.
Das mit dem Editor ist halt so, warum weiß niemand. Verwirrend ist nur, dass das nicht immer auftritt, dass Public-Variable ihren Wert verlieren, wenn der Editor offen ist.
Gruß K.Rola
AW: Fehler im Code
31.05.2006 19:57:44
Reinhard
Hallo K.Rola,
ja, ist so gewollt, ich glaub sogar ich hab beim Set den Arbeitsblattnamen mitangeben.
Das mit dem offenen Editor ist ja irre, danke für die Info.
Gruß
Reinhard
AW: Fehler im Code
31.05.2006 19:31:21
K.Rola
Hallo,
manche Methoden wollen alle Parameter, so auch Hyperlink:
Option Explicit

Sub Makro1()
Dim zei As Long
For zei = 1 To Range("A65536").End(xlUp).Row
Cells(zei, 1).Hyperlinks.Add Anchor:=Cells(zei, 2), Address:="", _
SubAddress:="c:\download\" & Cells(zei, 1), _
TextToDisplay:=Cells(zei, 1).Text
Next zei
End Sub

Gruß K.Rola
Anzeige
AW: Fehler im Code
31.05.2006 19:46:36
Reinhard
Danke dir K.Rola,
Frage noch offen wegen deiner anderen Antwort.
Gruß
Reinhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige