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

Fehler beim Kompilieren - Syntaxfehler

Fehler beim Kompilieren - Syntaxfehler
23.02.2009 20:49:47
Castor-Pollux
Hallo,
ich arbeite gerade an der Restaurierung eines EXCEL-Tabellenblattes, dass unter Office 2000 einwandfrei lief und jetzt unter Office 2007 ein paar Macken hat.
Hier im Forum habe ich mir schon ein VBA-Projekt angesehen, dass mein Problem in etwa trifft. Nur leider habe ich von VBA überhaupt keine Ahnung und jetzt habe ich die Fehlermeldung "Fehler beim Kompilieren - Syntaxfehler".
Ich zeige hier mal die Datei, wie ich sie für mich umgestrickt habe (Ziel ist es, nicht gesperrte Zellen via TAB-Taste anzuspringen):
Modul 1:
Option Explicit
Option Base 1
Dim intIndex As Integer
Sub Makro1()
Dim arr
intIndex = intIndex + 1
arr = Array("j10", "n10", "c14", "d14", "h14", "i14", "c15", "d15", "h15", "c16", "d16", "h16", "i16", "c17", "d17", "h17", "i17", "c18", "d18", "h18", "i18", "k18", "c19", "d19", "h19", "i19", "k19", "d21", "d22", "e21", "e22", "f21", "f22", "g21", "g22", "h21", "h22", "i21", "i22", "j21", "j22",
"e23", "d24", "d25", "e24","e25", "f24", "f25", "g24", "g25", "h24", "h25", "i24", "i25", "j24", "j25", "e26", "d27", "d28", "e27", "e28", "f27", "f28", "g27", "g28", "h27", "h28", "i27", "i28", "j27", "j28", "o27", "d30", "d31", "e30", "e31", "f30", "f31", "g30", "g31", "h30", "h31", "i30", "i31", "j30", "j31", "k29", "g32", "d33", "d34", "e33", "e34", "f33", "f34", "g33", "g34", "h33", "h34", "i33", "i34", "j33", "j34", "d36", "d37", "e36", "e37", "f36", "f37", "g36", "g37", "h36", "h37", "i36", "i37", "j36", "j37", "m29", "n29", "o29", "p29", "q29", "r29", "m30", "n30", "o30", "p30", "q30", "r30", "m31", "n32", "o31", "p31", "q31", "r31", "m32", "n32", "o32", "p32", "q32", "r32", "m33", "n33", "o33", "o34", "o35", "m37", "n37", "o37", "p37", "q37", "r37", "m38", "n38", "o38", "p38", "q38", "r38", "m39", "n39", "o39", "p39", "q39", "r39", "m40", "n40", "o40", "o41", "c40", "c44", "i42", "o46", "m47", "m51", "m17", "m19")
Range(arr(intIndex)).Select
'-------------------------------------------------
'Nur als Demo, kann weg!
'ActiveCell = ActiveCell.Address(0, 0)
'-------------------------------------------------
If intIndex = 175 Then intIndex = 0
End Sub


Tabelle1
Option Explicit


Private Sub Worksheet_Activate()
[e5].Select
Application.OnKey "{TAB}", "Makro1"
End Sub



Private Sub Worksheet_Deactivate()
Application.OnKey "{TAB}"
End Sub


Tabelle2
Option Explicit
Wenn mir hier jemand einen Rat geben könnte, fände ich dies Prima!
Danke im Voraus.
MfG
Ca-Po

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim Kompilieren - Syntaxfehler
23.02.2009 20:56:01
Ramses
Hallo
Es wäre hiflreicher wenn du beschreiben würdest, was du erreichen willst.
Das Makro das du hier zeigst macht ja eigentlich nichts
Gruss Rainer
AW: Fehler beim Kompilieren - Syntaxfehler
23.02.2009 21:02:07
Gerd
Hallo Ca-Po,
starte das Makro mal im Codefenster mit der F8-Taste im Einzelschrittmodus.
Welche Fehlermeldung erscheint in welcher Codezeile?
Gruß Gerd
AW: Fehler beim Kompilieren - Syntaxfehler
23.02.2009 21:25:16
Josef
Hallo Capi,
in deinem Array hast du ei en fehler mit den (").
Ich würde es so lösen.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Activate()
  Application.OnKey "{TAB}", "TabTab"
End Sub


Private Sub Worksheet_Deactivate()
  Application.OnKey "{TAB}"
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private intIndex As Integer

Private Const cstrRange As String = "j10,n10,c14,d14,h14,i14,c15,d15,h15,c16,d16,h16,i16,c17," & _
  "d17,h17,i17,c18,d18,h18,i18,k18,c19,d19,h19,i19,k19,d21,d22,e21,e22,f21,f22,g21,g22,h21,h22," & _
  "i21,i22,j21,j22,e23,d24,d25,e24,e25,f24,f25,g24,g25,h24,h25,i24,i25,j24,j25,e26,d27,d28,e27," & _
  "e28,f27,f28,g27,g28,h27,h28,i27,i28,j27,j28,o27,d30,d31,e30,e31,f30,f31,g30,g31,h30,h31,i30," & _
  "i31,j30,j31,k29,g32,d33,d34,e33,e34,f33,f34,g33,g34,h33,h34,i33,i34,j33,j34,d36,d37,e36,e37," & _
  "f36,f37,g36,g37,h36,h37,i36,i37,j36,j37,m29,n29,o29,p29,q29,r29,m30,n30,o30,p30,q30,r30,m31,n32," & _
  "o31,p31,q31,r31,m32,n32,o32,p32,q32,r32,m33,n33,o33,o34,o35,m37,n37,o37,p37,q37,r37,m38,n38,o38," & _
  "p38,q38,r38,m39,n39,o39,p39,q39,r39,m40,n40,o40,o41,c40,c44,i42,o46,m47,m51,m17,m19"

Public Sub TabTab()
  Dim arr() As String
  
  arr = Split(cstrRange, ",")
  Range(arr(intIndex)).Select
  intIndex = intIndex + 1
  
  If intIndex > UBound(arr) Then intIndex = 0
End Sub

Gruß Sepp

Anzeige
AW: Fehler beim Kompilieren - Syntaxfehler
25.02.2009 20:29:21
Castor-Pollux
Hallo Sepp,
vielen Dank für deinen Tipp. Hat funktioniert. Jetzt habe ich nur noch ein Problem:
Wenn ich diesen VBA-Code für in einer Tabelle geschrieben habe, öffnet sich bei einer ähnlichen dieselbe Tabelle nochmal im Hintergrund. Ich hätte aber gerne, dass nur immer ein aktuelles Tabellenblatt mit diesem VBA-Code funktioniert, auch wenn der Inhalt sich im wesentlichen nicht ändert.
Geht das?
Danke im Voraus.
Gruß
Ca-Po
AW: Fehler beim Kompilieren - Syntaxfehler
25.02.2009 22:01:12
Bahnhof
Hallo Capo,
also ich verstehe deine Frage kein bisschen.
Erkläre bitte dein Problem verständlicher.
Gruß Sepp

Anzeige
AW: Fehler beim Kompilieren - Syntaxfehler
26.02.2009 19:10:25
Castor-Pollux
Hallo Sepp,
ich versuche es mal deutlicher zu machen:
in Tabelle A habe ich den VBA-Code eingeben. Eine weitere Tabelle B, die fast gleichbenannt ist, unterscheidet sich darin, dass dort für die User die freien Zelle (die mit TAB anzuspringen sein sollen) farbig markiert sind. Wenn ich nun für die Tabelle B diesen VBA-Code eingebe, möchte ich, dass auch nur Tabelle B aktiv ist. Leider hat es sich ergeben, das beim Aufruf der Tabelle B, Tabelle A geöffnet wird - eben das soll nicht geschehen.
Ich hoffe, es ist jetzt klarer geworden.
MfG
Ca-Po

106 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige