Anweisung für IF-Schleife aus einem Sheet holen samt Anführungsstrichen

hwcsteffen

Mitglied
Hallo,

ich benötige dringend hilfe. Folgendes:

Ich habe ein Worksheet in dem sagen wir 2 Anweisungen stehen, wie z.B.

(Worksheet: AE-Regeln, Zeile 11, Spalte 2)

SD = "" And Left(Project,5) = "Stock"

Dies steht 1 zu 1 in der Zelle.

Jetzt möchte ich auf einen anderen Worksheet eine Abfrage starten.

Code:
If Sheets("AE-Regeln").Cells(11, 2) Then

BLA BLA

END IF

Das Prob liegt nur dabei, dass er dann Laufzeitfehler 13 sagt!! Wie kann ich das richtig machen?
 
Es ist meiner Kenntnis nach leider nicht möglich, dynamischen Programmcode mit VB zu erstellen.
 
Mir stellt sich bei deinen Problem die Frage, wieso du solche Sachen wie z.B. Sheetname, Zellen usw nicht einfach per globaler Variablen übergibst und in deiner andere Sub in die entsprechende Formel einliest.

Allerdings muss ich sagen, dass ronaldh da leider etwas übersehen hat, es ist in VBA (in VB ginge es nicht, hwcsteffen spricht ja aber von Excelmakros) doch möglich ist, dynamisch Code zu erzeugen. Muss mal danach suchen und poste, wenn ich es habe (hab das ganze erst vor kurzem gehabt, man, was bin ich vergesslich).

Sei dir dann aber bewusst, dass mit der dynamischen Codeerstellung auch Gefahren einhergehen, du kannst z.B. Prozeduren löschen, das würde sich dann sicher negativ auf dein Projekt auswirken.

Alles weitere, wenn ich das ganze wieder behirnt habe.


Der Doc!
 
Mir stellt sich bei deinen Problem die Frage, wieso du solche Sachen wie z.B. Sheetname, Zellen usw nicht einfach per globaler Variablen übergibst und in deiner andere Sub in die entsprechende Formel einliest.

Allerdings muss ich sagen, dass ronaldh da leider etwas übersehen hat, es ist in VBA (in VB ginge es nicht, hwcsteffen spricht ja aber von Excelmakros) doch möglich ist, dynamisch Code zu erzeugen. Muss mal danach suchen und poste, wenn ich es habe (hab das ganze erst vor kurzem gehabt, man, was bin ich vergesslich).

Sei dir dann aber bewusst, dass mit der dynamischen Codeerstellung auch Gefahren einhergehen, du kannst z.B. Prozeduren löschen, das würde sich dann sicher negativ auf dein Projekt auswirken.

Alles weitere, wenn ich das ganze wieder behirnt habe.


Der Doc!

Danke, Doc, wieder was dazu gelernt! Mit VBA mache ich nicht allzu oft was, ich bin davon ausgegangen, dass da auch eine Art Pre-Kompilierung vor der Ausführung abläuft.
 
So, hier auch gleich noch Wissen dazu.

Mit der VBComponents-Anweisung kannst du auf VBA-Code zugreifen, ihn ändern und löschen aber auch neu erstellen.

Mit der Zeile
Visual Basic:
ThisWorkbook.VBProject.VBComponents("Tabelle1").CodeModule.AddFromString "Sub Prozedur()" & Chr(13) & " x = 1" & Chr(13) & "End Sub"
kannst du z.B. eine neue Prozedur erstellen, dabei wird in diesem Fall die Prozedur an den Anfang des Projektfensters (hier die Codefenster der Tabelle) gestellt.

In der Excel-Hilfe finden sich dann auch noch andere Anweisungen zum löschen, einfügen usw., die Warnung betr eventueller Selbstzerstörung von oben gilt aber noch immer.


Der Doc!
 

Neue Beiträge

Zurück