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

VBA-Code - Groß-und Kleinbuchstaben

VBA-Code - Groß-und Kleinbuchstaben
08.04.2004 22:13:32
{Boris}
Hi Leute,
ich bin nun nicht der VBA-Fachmann - aber ich dachte immer, dass jedes VBA-Schlüsselwort, jede Konstante, jede Worksheetf`unction etc... mindestens einen Großbuchstaben enthält. Daher bestehen meine Variablen auch in der Regel immer aus mindestens 1 Großbuchstaben.
In diesem sinnlosen Dummycode hätte ich die fettgedruckten Buchstaben GROSS erwartet - warum ist das nicht so? Welche Logik steckt dahinter?
Option Explicit
S ub proper()
Dim S As String
S = "hallo"
MsgBox WorksheetFunction.proper(S)
MsgBox Range("A:A").Find("*", lookat:=xlWhole, searchdirection:=xlPrevious).Row
End Sub
Grüße Boris

30
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
natürlich eigentlich auf LookAt (und nicht lookat)
08.04.2004 22:16:40
Boris
...denn lookin wird zu LookIn...
Boris
Oh Mann - tausche "auf" gegen "auch"...
08.04.2004 22:19:43
Boris
AW: natürlich eigentlich auf LookAt (und nicht lookat)
08.04.2004 22:24:38
Josef Ehrensberger
Hallo Boris!
VBA ist bezüglich Groß/Klein - Schreibung unempfindlich.
Das manche Schlüsselwörter automatisch mit Großbuchstaben
versehen werden und andere wieder nicht, liegt wohl am
VBA-Editor.
Ich hab auch beobachtet, das Code den ich auf meinem Heim PC erstellt
habe, und in dem manche Schlüsselwörter ohne Großbuchstaben
geschrieben standen, auf meinem Firmen PC plötzlich korrekt,
also mit Großbuchstaben dargestellt wurde.
Auf den Code selbst hat das allerdings keinen Einfluss!

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
AW: natürlich eigentlich auf LookAt (und nicht lookat)
08.04.2004 22:31:53
Boris
Hi Mr. Churchill ;-),
...danke dir erstmal für deine Antwort.
Dass der Code auch mit Kleinbuchstaben läuft, ist mir schon klar. Aber doch merkwürdig, dass auf unterschiedlichen Rechnern (verschiedene Excelversioenen / Betriebssysteme???) das unterschiedlich dargestellt wird...
Grüße Boris
OT Hallo Boris...
08.04.2004 22:26:59
K.Rola
...kannst du mir mal bei einem Formelproblem behilflich sein?
Gruß K.Rola
Schiess los...
08.04.2004 22:29:18
Boris
Hi K.Rola,
...aber gib mir doch vorher nochmal schnell nen Tipp zu dieser Frage...;)
Grüße Boris
AW: Schiess los...
08.04.2004 22:39:04
K.Rola
Da du die Prozedur proper genannt hast "merkt" sich VBA das und wertet
es als Vorgabe, bei den benamten Argumenten sehe ich auch keine Regel,
obwohl es schon schöner wäre, sie würden immer automatisch korrigiert
schon wegen der Kontrolle der Schreibweise.
Ich lad mal was hoch, läßt sich blöd erklären.
Gruß K.Rola

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

Anzeige
Puhhh - das ist ein Hammer...
08.04.2004 22:46:13
Boris
Hi K.Rola,
...auf den ersten Blick: Unmöglich.
Werde aber gerne nochmal etwas nachdenken - nur kann das noch was dauern...
Grüße Boris
AW: Puhhh - das ist ein Hammer...
08.04.2004 22:48:40
K.Rola
Hallo Boris,
ich seh schon, ich werde WF oder FP bemühen müssen :› oder
einfach VBA befragen.
Gruß K.Rola
AW: Puhhh - das ist ein Hammer...
08.04.2004 22:52:34
Boris
Hi K.Rola,
;-))
Grüße Boris
AW: Puhhh - das ist ein Hammer...
09.04.2004 00:48:04
K.Rola
Hallo Boris,
zu den benannten Argumenten, könnte mir vorstellen, dass der Compiler
die nicht erkennt, weil die in keiner Bibliothek enthalten sind.
Jedenfalls sind sie im Objektkatalog nicht auffindbar. Wo die allerdings
gespeichert sind, ist mir nicht klar.
Gruß K.Rola
Anzeige
Ich habe mal versucht
09.04.2004 01:14:57
Jörg Gradert
Hallo K.Rola,
2 Formeln, erste Zeile anders, ab der zweiten Zeile ist die Formel sowohl nach rechts, als auch nach unten kopierbar. Nullwerte wurden über Format Zellen... benutzerdefiniert ausgeblendet.
https://www.herber.de/bbs/user/5134.xls
Gruss Jörg
AW: Ich habe mal versucht
09.04.2004 01:30:54
K.Rola
Hallo,
auch dir vielen Dank und fröhliches Eiersuchen.
Gruß K.Rola
AW: Puhhh - das ist ein Hammer...
09.04.2004 00:10:38
FP
Hi K.Rola,
DANKE für die Blumen :D :-)
meinst Du das so ?
https://www.herber.de/bbs/user/5133.xls
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Puhhh - das ist ein Hammer...
09.04.2004 00:19:11
K.Rola
Hallo,
danke auch dir. Ich brauch eigentlich nicht alle Möglichkeiten, nur,
um bei deinem Beispiel zu bleiben 38+38+38+37, also immer so nah
wie möglich am Maximum.
Gruß K.Rola
AW: dann so....
09.04.2004 00:26:47
FP
Hi K.Rola,
AW: dann so....
09.04.2004 00:38:14
K.Rola
Hallo,
danke dir und frohes Eierverstecken.
Gruß K.Rola
AW: dann so....
09.04.2004 00:52:43
Uwe
Hallo, FD!
Danke für Deine Ansätze aus Deiner ersten Antwort hier zum Thema, die mir interessante Lösungsmöglichkeiten darstellen.
Bei den jetzigen Lösungen habe ich jedoch beim Nachvollziehen Probleme, da ich für die Vorgabe: 152 und 30 als ergebnis 6 Teilmengen erhälte , wobei für TM1 = 25 und für TM2 = 27 angezeigt werden ( Runden(152/6;0)=25 und 152-25*(6-1)=152-125=27 ). Eine gleichmäßigere Aufteilung wird jedoch durch 26+26+25+25+25+25 erreicht.
Bei 153 verschiebt sich die Verteilung weiter zu 26+26+26+26+26+23, wo doch 26+26+26+25+25+25 eine optimalere Verteilung liefert. Dieser Umstand führte zu meinem skizzierten Vorschlag.
Nochmals Dank für den gelieferten Erkenntnisgewinn.
Gruß!
Anzeige
AW: Versuch einer Skizze
08.04.2004 23:20:50
Uwe
Wenn ich mich versuchen kann, K.Rola,
dann hier ein Vorschlag:
Anzahl der Interessenten und maximale Anzahl stehen in den Zellen, wie Du sie eingesetzt hast.
Als nächstes benötigst Du wohl einen Zellenbereche (Spalte oder Zeile nach Deiner Planung) in der in Abhängigkeit von der Anzahl der KursGruppen (in Deinem Beispiel 6)
eine Label-Zelle angeschrieben wird.
In einem ersten Ansatz, könnte man auf die erste Gruppe den "Überhang" legen, der sich aus der gleichmäßigen Verteilung "ganzer" Kursteilnehmer ergibt
AnzahlDerGruppen=aufrunden(Gesamtteilnehmer/maxGruppengröße;0)
TeilnehmerZahlDerGruppe=abrunden(Gesamtteilnehmer/AnzahlDerGruppen;0)
Überhang=Gesamtteilnehmer-TeilnehmerZahlDerGruppe*(1-AnzahlDerGruppen)

Da Überhang kleiner als die AnzahlDerGruppen ist, kann diese Größe dazu benutzt werden um in einer Wenn-Abfrage bis zur Gruppe mit der Nummer = der Größer des Wertes Überhang je ein Teilnehmer zuaddieren:
TeilnehmerZahlDerGruppe+Wenn(KlassenNr<=Überhang;1;0)
Über das Einsetzen der Teilergebnisse könnte vielleicht eine Formel erstellt werden, die gleich in je eine Zelle geschrieben wird, die eine Bezug zur KlassenNr hat.
Vielleicht liefert der Vorschlag ein Gerüst zur weiteren Bearbeitung (ist es das hier vor kurzem angefragte Problem der Seminareinteilung?). EXCEL-mäßig schaue ich mir die Sache auch gerne an, wenn Du dies für ein geeigneten Weg hälst
Gruß!
Anzeige
Korrektur zum Überhang
08.04.2004 23:24:12
Uwe
Überhang=Gesamtteilnehmer-TeilnehmerZahlDerGruppe*AnzahlDerGruppen
AW: Lösungsversuch
09.04.2004 00:12:01
K.Rola
Hallo,
danke für deine Mühe, für solche Lösungen fehlt mir das Verständnis
für die verkorkste Formelsyntax, da halte ich es lieber mit VBA.
Gruß K.Rola
AW: Lösungsversuch
09.04.2004 16:23:51
Boris
Hi K.Rola,
Lösungen scheinst du ja jetzt genug zu haben - da hab ich mich mit meiner Ersteinschätzung ja mal gründlich vertan, denn so kompliziert war das ja nicht...
Grüße Boris
AW: Lösungsversuch
09.04.2004 16:44:03
K.Rola
Hallo Boris,
eigentlich wollte ich gar nicht solch eine Lawine auslösen, zumal das mit wenigen
Zeilen VBA ganz einfach zu lösen ist.
Bestätigt eigentlich nur meine Meinung, dass nur eine vernünftige Aufgabenteilung
zwischen Excel und VBA eine annähernd optimale Lösung bringt.
Gruß K.Rola
Anzeige
AW: VBA-Code - Groß-und Kleinbuchstaben
09.04.2004 01:49:45
Uwe
Hallo, Boris,
auch wenn auch ich nicht genau die Lösung kenne, so vermute ich, dass es sich hier um Phänomen hadelt, das vielleicht wegen einer Abwärtskompatibilität geboren ist.
Wenn Du die Namen lookat und searchdirection durch das Buchstabenpaar xl als Präfix erweiterst, dann wirst Du "vermisstes" entdecken (und vermutlich Dich fragen, warum dies nicht für LookIn gilt; so geht es mir jedenfalls).
xllookat wird zu XlLookAt
xlsearchdirection wird zu XlSearchDirection
Dass darüberhinaus lookat im beliebigen Wechsel von Groß-/Kleinbuchstaben geschrieben werden kann, läßt mich vermuten, dass ein so übergebenen Parameter (z.B. lOoKaT:=xlWhole) als ein zusammenhängender String übergeben wird, dessen Buchstaben vor der Auswertung in eine nur Großbuchstaben oder nur Kleinbuchstaben verwandelt wird. Erst dann erfolgt über eine Art switch-Anweisblock die Setzen des übergebenden Wertes hinter der := Trennung.
Wie hier chon angedeutet, spielt die Groß-/Kleinschreibung, anders als wie z.B. bei C/C++ wohl keine Rolle, so dass es wohl auch keine "Regeln" zu beachten gilt. Einzig eine optische Unterteilung der Begriffe wird duch den sinnvoll eingesetzten Wechsel von Groß-/Kleinbuchstaben erzielt.
Gruß!
Anzeige
AW: VBA-Code - Groß-und Kleinbuchstaben
09.04.2004 02:08:53
Uwe
Nochmals ein Nachtrag:
In EXCEL9.OLB (meine Version Excel 2000; VB 6.0) findest Du, wie im Objektkatalog die Einträge. Es handelt sich um Enum-Felder, die für die hier benutzten Beispielwerten in beiden Versionen (mit und ohne Präfix Xl- ) vorhanden sind, während LookIn nur alleine dasteht.
Gruß!
AW: VBA-Code - Groß-und Kleinbuchstaben
09.04.2004 02:09:04
Uwe
Nochmals ein Nachtrag:
In EXCEL9.OLB (meine Version Excel 2000; VB 6.0) findest Du, wie im Objektkatalog die Einträge. Es handelt sich um Enum-Felder, die für die hier benutzten Beispielwerten in beiden Versionen (mit und ohne Präfix Xl- ) vorhanden sind, während LookIn nur alleine dasteht.
Gruß!
Anzeige
AW: VBA-Code - Groß-und Kleinbuchstaben
09.04.2004 02:09:14
Uwe
Nochmals ein Nachtrag:
In EXCEL9.OLB (meine Version Excel 2000; VB 6.0) findest Du, wie im Objektkatalog die Einträge. Es handelt sich um Enum-Felder, die für die hier benutzten Beispielwerten in beiden Versionen (mit und ohne Präfix Xl- ) vorhanden sind, während LookIn nur alleine dasteht.
Gruß!
AW: VBA-Code - Groß-und Kleinbuchstaben
09.04.2004 16:28:44
Boris
Hi Uwe,
danke für deine ausführliche Antwort:-)
Fazit also:
Es ist so wie es ist - und solange es läuft, soll´s mir auch Recht sein:-)
Grüße Boris

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige