Autor
|
Thema: Arbeiten mit Listen (898 mal gelesen)
|
LaBonita Mitglied Dipl.-Math.
Beiträge: 151 Registriert: 26.07.2007 eM-Plant 7.5 bis 8.1 VB Java C#
|
erstellt am: 29. Aug. 2007 14:38 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte in VBA mit Listen arbeiten - so ein array oder so etwas. Ich habe bisher Informationen gefunden, wie ich so etwas erstelle und dort Daten einstelle. Jetzt kommt meine Frage: Wie kann ich ein Datenfeld, das ich einmal beschrieben habe, wieder leeren? Bsp.: Ich schreibe die Werte 0, 1 und 2 rein und möchte dann, nachdem ich damit etwas gemacht habe die Werte 200 und 15 reinschreiben. Dazu muss aber die 2 irgenwie gelöscht werden. Danke für Eure Hilfe! Gruß, Ortrun Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten-3m Mitglied Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)
Beiträge: 950 Registriert: 08.05.2007 Excel 2010
|
erstellt am: 29. Aug. 2007 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für LaBonita
Ohne die spezifische Syntax von VBA zu kennen, gehe ich davon aus, dass eine Wertzuweisung in einem Array den vorherigen Inhalt überschreibt. Würde mich wundern, wenn VBA da anders als andere Hochsprachen arbeitet, die über Arrays verfügen. ------------------ Seit Pro/E Version 1 dabei, auwei... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LaBonita Mitglied Dipl.-Math.
Beiträge: 151 Registriert: 26.07.2007 eM-Plant 7.5 bis 8.1 VB Java C#
|
erstellt am: 29. Aug. 2007 14:56 <-- editieren / zitieren --> Unities abgeben:
Hallo carsten-3m, danke für Deinen Versuch mir zu helfen. Prinzipiell hast Du Recht, wenn ich immer dieselbe Anzahl an einträgen haben will. Wenn ich aber bei einer späteren Verwendung weniger Einträge habe, würde ich bei einer Überschreibung die hinteren Werte behalten - das will ich aber nicht. Anyway - habe weiter gesucht und das entsprechende Kommando "glaube ich" gefunden: Erase. Nach der Beschreibung müßte das tun. Trotzdem danke an alle, die helfen wollten!!! Gruß, Ortrun Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 29. Aug. 2007 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für LaBonita
Ansonsten wäre bei arrays vielleicht auch noch ReDim ein Kandidat, über den es sich nachzulesen lohnt. Aber soviel habe ich mit arrays jetzt auch nicht am Hut ;-)------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Metallbaukonstrukteur (m/w/d) für Sonderkonstruktionen | GOLDBECK?realisiert zukunftsweisende Immobilien in Europa. Wir verstehen Gebäude als Produkte und bieten alle Leistungen aus einer Hand: vom Design über den Bau bis zu Services im Betrieb. Aktuell beschäftigt unser Familienunternehmen mehr als 12.000 Mitarbeitende an über 100 Standorten bei einer?Gesamtleistung von über 6 Mrd. Euro. Unser Anspruch ?building?excellence? steht dabei für Spitzenleistungen ... | Anzeige ansehen | Konstruktion, Visualisierung |
|
carsten-3m Mitglied Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)
Beiträge: 950 Registriert: 08.05.2007 Excel 2010
|
erstellt am: 29. Aug. 2007 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für LaBonita
Zitat: Original erstellt von LaBonita: ...Wenn ich aber bei einer späteren Verwendung weniger Einträge habe, würde ich bei einer Überschreibung die hinteren Werte behalten - das will ich aber nicht
Hallo Ortrun, Erase scheint tatsächlich das zu können was Du anstrebst. Ich denke, als inzwischen etwas betagter Computernutzer (sind bereits 27 Jahre), immer eher an recht einfache Methoden, die meist völlig ohne Spezialbefehle auskommen. Konkret heißt das für mich hier, dass Du Deinen Lösungsansatz bereits oben im Zitat verbal beschrieben hast. Eine Schleife oder ähnliches füllt ein Datenfeld fester Größe mit Werten. Zu einem späteren Zeitpunkt füllt eine andere Schleife oder ähnliches das gleiche Datenfeld fester Größe mit weniger Werten. Die verbleibenden Werte sollen aber entfernt, geleert oder auf einen Fixwert (entspricht leer) gesetzt werden. Das ließe sich mit einer Schleife fester Laufweite (entspricht Datenfeldgröße) und einem Zähler abhandeln. In die Schleife gehört dann eine simple Abfrage, ob der Zähler bereits die neue Anzahl Datenfelder erreicht hat. Wenn ja, nur noch Fixwert (entspricht leer) füllen, ansonsten neuen Wert füllen. Ist umständlicher als Erase, gar keine Frage, braucht aber auch nur ein paar Zeilen. Gruß, Carsten
------------------ Seit Pro/E Version 1 dabei, auwei... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|