Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1336to1340
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
Hilfe... Vor- und Nachnamen trennen
21.11.2013 22:24:39
Albert
Guten Abend zusammen,
ich hab in meiner Tabelle Vor- und Nachnamen stehen, die von einander durch ein Komma getrennt sind...
Sprich... Mustermann, Max oder Hempels, Hermann.
Ich brings nicht auf die Reihe, dass ich zwei Textboxen versorge.
Würde mir bitte jemand zeigen, wie man das macht?
Gruß
A.

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe... Vor- und Nachnamen trennen
21.11.2013 22:45:07
Martin
Hallo Albert,
so zum Beispiel:
Sub SplitName() Dim strName As String strName = "Mustermann, Max" 'Nachname (TextBox1 =) MsgBox Trim(Split(strName, Chr(44))(0)) 'Vorname (TextBox2 =) MsgBox Trim(Split(strName, Chr(44))(1)) End Sub Viele Grüße
Martin

Chr(44) entspricht einem Komma, also geht auch...
21.11.2013 22:47:46
Martin

Sub SplitName()
Dim strName As String
strName = "Mustermann, Max"
'Nachname (TextBox1 =)
MsgBox Trim(Split(strName, ",")(0))
'Vorname  (TextBox2 =)
MsgBox Trim(Split(strName, ",")(1))
End Sub
...nur als kleiner Ergänzungshinweis...

Es geht noch effektiver...
21.11.2013 22:53:40
Martin
...mit nur einem Split...
Sub SplitName()
Dim varName As Variant
varName = Split("Mustermann, Max", ",")
'Nachname (TextBox1 =)
MsgBox Trim(varName(0))
'Vorname  (TextBox2 =)
MsgBox Trim(varName(1))
End Sub
Viele Grüße
Martin

Anzeige
AW: Es geht noch effektiver...
21.11.2013 23:16:41
Albert
Hallo Martin,
danke für deine Hilfe. Ich baus gleich mal ein...
Dankeschön und Gruß
A.

AW: Es geht noch effektiver...
22.11.2013 05:14:25
Luschi
Hallo Martin,
erzeugte Arrays sollte man auch wieder aus em Speicher werfen mit:
Erase varName
Gruß von Luschi
klein Paris

AW: Es geht noch effektiver...
22.11.2013 22:14:02
Martin
Hallo Luschi,
mir ist bekannt, dass es bei Objekt-Variablen (z.B. Dim objDic as Object) üblich ist den Speicher am Ende des Makros mit "Set objDic = Nothing" wieder freizugegeben. Ich habe aber noch nicht gelesen, dass sogar der für Arrays verwendete Speicher wieder freigegeben werden soll. Kannst du mir bitte eine Quelle geben, wo das steht? Auch im doch recht professionellen Buch "Excel programmieren" von Michael Kofler und Ralf Nebelo konnte ich dazu nichts finden.
Viele Grüße
Martin

Anzeige
möglich das ich jetzt falsch liege,...
23.11.2013 15:50:19
Tino
Hallo,
möglich das ich jetzt falsch liege,
aber ich denke in allen Fällen ist eher wichtig wo und wie die Variable deklariert wird.
Wenn ich die Variable innerhalb einer Sub oder Funktion deklariere wird diese nach beenden dieser zurückgesetzt (Ausnahme ist die Deklarierung als Static).
Egal ob Range, Object, Array oder normale Variable,
sonst würden diese nach erneuten Aufruf ihr Zuweisung behalten.
Gruß Tino

Das ist richtig, aber darum geht's eigentl ...
23.11.2013 16:58:21
Luc:-?
…nicht, Tino,
sondern um für Objekte reservierten Speicherplatz (deshalb ja auch als „Freigabe“ bezeichnet), was möglicherweise auch auf DatenFelder zutreffen mag (wie Luschi anmerkt). In anderen Sprachen wie zB J[ava]Script sind diese allerdings auch oft Objekte.
Gruß Luc :-?

Anzeige
bei mir wird die Auslastung zurückgesetzt
23.11.2013 18:22:55
Tino
Hallo,
also bei mir ist die Auslastung vom physischen und dem virtuellen Arbeitsspeicher gleich ob ich nun alles in einer Sub brav zurücksetzte oder nicht, also wird auch die Reservierung gleich behandelt.
Wenn ich die Deklarierung außerhalb mache, wird dieser wie erwartet nicht zurückgesetzt und die
Speicher Belastung steigt an und bleibt unverändert groß.
Da muss ich zurücksetzten um den effekt von oben zu bekommen.
Habe ich eben mit den üblichen Variablen durchgetestet.
Gruß Tino

Das Ganze ist ja auch strittig! Niemand ...
23.11.2013 19:42:12
Luc:-?
…scheint wohl zu wissen, wie sich das real auf moderne RT auswirkt bzw ob das immer noch nötig ist. Aber im Zweifel eben → sicher ist sicher (Arrays setze ich allerdings auch nicht zurück).
Luc :-?

Anzeige
AW: bei mir wird die Auslastung zurückgesetzt
23.11.2013 20:06:15
Luschi
E§in Hallo an Alle,
in VB.Net/C# gibt es die Using-Methode. Wenn man so ein Objekt definiert, dann sorgt das Framework dafür, daß mit 'End Using' alle Speichervariablen frei gegeben werden, die in diesem Using-Block definiert wurden und so der 'Garbage Collector' aufräumen darf. Solange es so einen Executer in VB6/Vba nicht gibt, ist es immer besser, selber die Objekte freizugeben als zu warten, bis das Hauptprogramm merkt, daß bestimmte Variablen durch Platzmangel im Hauptspeicher brach liegen und dann entfernt werden.
Genauso, wie ich dafür plädiere, im Vba-Code auch die Standard-Eigenschaften hinzuschreiben, wenn diese gemeint sind, so sollten auch alle Objektvariablen/Arrays eigenhändig zerstört werden.
Leider sind viele Vba erklärende Bücher und auch Videos von Video2Brain hier ein schlechtes Vorbild und verzichten auf das Nothing-Setzen von Objektvariablen bzw. Löschen von Arrays.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: bei mir wird die Auslastung zurückgesetzt
24.11.2013 00:01:44
Tino
Hallo,
ok schlecht ist es auf alle Fälle nicht wenn man alles brav zurücksetzt.
Habe ich auch zu Anfangszeiten immer gemacht,
mittlerweile habe ich aber weder einen Vor noch einen Nachteil erkennen können.
Seit ca. ½ Jahr beschäftige ich mich auch mit VBNet aber bin rein von der System-Kompatibilität
vom Netframework nicht so recht zufrieden auch das startverhalten und die Stabilität ist recht dürftig.
(kann aber auch noch an mir liegen)
Mit VB6 habe ich da bessere Erfahrung, gerade mit Tools die fast ununterbrochen am Laufen sind und Excel VBA lehnt sich ja bekanntlich an VB6 an bzw. stammt davon ab.
Gruß Tino

Anzeige
Vor- und Nachnamen am Komma trennen
21.11.2013 22:50:09
Matthias
Hallo
Trenne es doch vorher mit Formeln
Tabelle1

 ABC
1Albert, SchweitzerAlbertSchweitzer
2Max , MustermannMaxMustermann
3Hempels, HermannHempelsHermann

Formeln der Tabelle
ZelleFormel
B1=GLÄTTEN(LINKS(A1;FINDEN(",";A1)-1))
C1=GLÄTTEN(TEIL(A1;FINDEN(",";A1)+1;LÄNGE(A1)))
B2=GLÄTTEN(LINKS(A2;FINDEN(",";A2)-1))
C2=GLÄTTEN(TEIL(A2;FINDEN(",";A2)+1;LÄNGE(A2)))
B3=GLÄTTEN(LINKS(A3;FINDEN(",";A3)-1))
C3=GLÄTTEN(TEIL(A3;FINDEN(",";A3)+1;LÄNGE(A3)))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: Vor- und Nachnamen am Komma trennen
21.11.2013 23:17:36
Albert
Danke Matthias,
Das stellt dann Plan B dar...
Danke für deine Hilfe.
Gruß
A.

ein Plan B ist immer gut ;-) owT
21.11.2013 23:33:33
Matthias

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige