Warnung: Antwort ist lang
Hallo Frank und einige andere,
zuerst das Wichtigste.
Ich habe mich sehr über die netten Worte zu meinem KH-Aufenthalt
gefreut, das ging (den Rücken) runter wie Öl.
(geht den Rücken runter wie Öl ist eine mir aus/seit der Jugendzeit
bekannte Aussage die bedeutet, es war sehr sehr schön)
Sowas ist wichtig in dieser kalten Welt, vergleichbar mit der Sonne
die man wieder strahlend sieht, nach grauen Tagen…
Danke dafür.
@Frank, ist schon ein riesenlanger Thread, brauch da einige Zeit den genauer durchzulesen und gezielt zu antworten.
Mal so aus dem Gedächtnis mal paar Antworten.
Ich benutze Long grundsätzlich IMMER für Zeilen- und Spaltenvariablen.
Das erspart mir die Denkzeit soll ich jetzt Integer nehmen, gar Byte.
Völlig unnütz und die Regel, in dem Fall immer Long zu nehmen ist leicht zu merken und umzusetzen.
Technischer Hintergrund dessen ist, bei Zeilen- und Spalten wird
SOWIESO mit Long gerechnet bzw. bei anderen Definitionen/Deklarationen
z.B. Byte, Integer diese von Vba in Long umgewandelt.
Dies gilt für Benutzung von Cells, Cells erwartet Longwerte, wenn
die Variablen dies nicht sind werden sie umgewnadelt.
(Range weiß ich gar nicht, *schäm*)
Herausfinden kannst du sowas, also welche Datentypen eine Funktion
erwartet, z.B. im Objektkatalog (F2).
Es ist es für jeden VBA-Lernenden empfehlenswert sich mal genauer mit
dem Objektkatalog zu beschäftigen.
Nepumuk, der spielt in der gleichen Liga wie Thomas, schrieb dazu mal:
http://www.herber.de/forum/archiv/952to956/t954760.htm
Zu dem was du angeschnitten hast mit Modulen und Modulaufteilung usw.
gibt es auch was von ihm:
http://www.herber.de/forum/archiv/960to964/963009_Da…
Viele VBAler bedauern/bedauerten es daß Nepumuk diese Wort zum Sonntag Reihe nur kurz angefangen hat *sniff*
Ich weiß nicht wie Thomas R. mit VBA begann. Ich begann mit
einem Buch von Bernd Held. Fehlkauf aus vielerlei Gründen.
Brauchst nicht nach dem Titel zu fragen, gilt für alle.
Ist schon 10 Jahre Staubschicht darauf.
Andere Autoren von VBA Büchern für Beginner kenne ich nicht
und kann dazu nichts sagen.
Ich begann mit dem was Thomas auch dir riet, Foren.
Mitlesen. Wo du weder Frage noch Antwort verstehst, ist egal,
Hauptsache du hast es überflogen. Pick dir die Anfragen raus
wo du die Fragestellung genau verstehst, probiere für dich das zu
lösen. Dein evtl. Versagen ist a) normal, b) siehts ja keiner.
Dann wird diese Fragestellung gelöst. Sezesiere den Antwortcode.
Solange bis du ihn verstehst. Hakts irgendwo, kein Akt, frage im
Beitrag den Antworter. Er oder ein anderer erklärt dir das sicher
gerne.
Und Zug um Zug derart wächst dein Wissen. Und irgendwann kommt
DEIN Tag, eine Anfrage kommt und DU entwickelst eine Lösung.
Und, wenn dann der Anfrager schreibt: Danke, klappt fühlst du Stolz.
Wichtig ist einzig daß deine Lösung funktioniert.
Wenn dann jmd. mit mehr Wissen (hat er ja nur durch mehr Erfahrung/Übung) bekommen, eine einfachere schneller oder sonstwie
bessere Lösung präsentiert, na und, ist doch klar daß jemand
mit 4 Jahren Vba mehr weiß als Du mit deinem halben oder ganzen Jahr der Beschäftigung mit VBA, sezesiere dessen Antwortcode.
So habe ich mir VBA beigebracht. Angenommen du und ein Kumpel
beginnen gleichzeitig mit Vba. Er macht laufend VBA-Kurse, du nur
„Foren“. Sicher, daß erste Halbjahr/Jahr ist er dir klar überlegen.
Was der alles schon kann, da staunst du nur.
Aber es kommt der Zeitpunkt wo du die ersten Erfolgserlebnisse
in Foren hast und dann bald darauf schaust du dir nochmals
die Codes an die er baute als du die nicht kapierst hast.
Siehe da, du verstehst sie, kannst sie gar verbessern.
Ab diesem Zeitpunkt haste deinen Kumpel „im Sack“. Er kann letzlich
nur die Beispliele die im Kurs dran kamen. Du warst aber gezwungen
auf Fragen aus der Praxis einzugehen die so weder in Büchern stehen
usw.
Wenn er nur brav in seinen Kursen mitmacht und von mir aus auch deren
hausaufgaben macht hat er mittel- und gar langfristig keine Chance
derart dein Wissen zu erwerben.
Der Code den ich dir schrieb ist ja gewachsener Code. Erst war nur
dieses zu tun, dann kam jenes dazu , dann dies, dann das.
Auch deshalb sieht er so aus wie er aussieht.
Jetzt wo hoffentlich alles was zu tun ist bekannt ist würde ich ihn
eventuell annerster von der Grundstruktur aufbauen.
Quien sabe, ich nich *gg* Habe ihn mir jetzt noch nicht wieder
angeschaut.
Irgendwo stand was von fehlenden Kommentaren. Klar fehlen die,
hier ist ein Forum und sehr oft hätte ich für auskommentieren nochmal
den gleichen oder oft auch mehr Aufwand als/wie für den reinen Code.
Es fehlt auch jedwede Fehlerroutine und einiges mehr.
Im Rahmen eines Forums ist mir das zuviel.
Schick 'nen Scheck und alles ist vorhanden )
Bei Kommentaren, das ist quasi nur die Arbeitszeit um zu erläutern
was da Mappenbezogen in dieser Codesequenz getan wird.
Da hat jeder der das für seinen Code machen will nur das eher
Problem, wie formuliere ich das sodaß es andere Verstehen und auch ich
selbst wenn ich den Code nach paar Monaten wiedersehe.
Fehlerroutinen sind VBA-mäßig gewaltig schwieriger.
Sicher, so eine Fehlerroutine zu basteln die bei jedem Fehler
eine Meldung bringt „Es ist ein Fehler aufgetreten, fragen sie ihren
Admin“ ist recht einfach zu bauen.
Viel viel aufwendiger ist es je nach Fehler die genau richtigen
MsgBoxen zu bringen.
Auch wenn ich jetzt zu deiner/deinen Anfrage(n) noch nichts
schrieb so ist doch hoffentlich manches hier schonmal hilfreich
für dein Excel-Vba Wissen.
Übrigens Frank, du hast geschrieben du willst evtl. das Projekt
abblasen. Meinst du damit jetzt das Projekt"Auswertung von Kniffelpartie durch Excel/Vba" durch manuelles Auswerten zu ersetzen
oder das/mein VBA- Projekt durch ein anderes VBA-Projekt?
Gruß
Reinhard