Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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
Array to String
02.08.2013 14:53:23
Philipp
Mithilfe einer Schleife, lasse ich alle Einträge des Arrays durchlaufen.
Weiter oben im Sub stehen mehrere Variablen (integer). Eine davon is "jan_for".
Wie kann ich einen Eintrag vom Array und einen von mir definiert Text in diesem Fall "_for" verbinden, als bereits vorhanden Variable definieren und in eine Zelle eintragen.
Meine Idee wäre, die nicht funktioniert:
Worksheets("blattname").Range("B2").value = CStr(strNamen(f) & "_for")

Dim f As Integer
strNamen = Array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", " _
dec")
For f = LBound(strNamen) To UBound(strNamen)
Worksheets("blattname").Range("B2").value = CStr(strNamen(f) & "_for")
Next f

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array to String
02.08.2013 15:28:27
ChrisL
Hi Philipp
Deine Frage ist etwas verwirrend. Kann es sein, dass du sowas ähnliches machst:
Dim jan_for As Integer
jan_for = 1
Worksheets("blattname").Range("B2").Value = jan_for
Wobei jan in der letzten Zeile wieder eine Variable sein soll.
Falls ja, dann geht es nicht.
Aber warum arbeitest du nicht gleich mit Nummer
arMonat(0) = 1
arMonat(1) = 2
arMonat(2) = 3
usw.
cu
Chris

Wie kann ich...
02.08.2013 15:29:08
Oberschlumpf
...zuerst könntest du bitte jeden deiner Beiträge mit einem HALLO beginnen lassen + mit einem TSCHÜSS oder ähnlich beenden
Hi Philipp
Ich habs nicht getestet, aber beginnend bei Dim f As... und endend bei Next f seht dein Code eigtl ok aus.
Bedingt durch die Schleife werden alle Array-Einträge + "_for" in die Zelle B2 eingetragen.
Ist es denn das, was du willst, dass alle Strings in ein und dieselbe Zelle eingetragen werden?
Ciao
Thorsten

Anzeige
AW: Wie kann ich...
05.08.2013 07:54:30
Philipp
Hallo :-)
Nein ich will nur wissen, wie man Array und Text (_for) als vorhanden string definiert
Servus

Bei deinem 'Array to String' wdn alle ...
03.08.2013 12:07:38
Luc:-?
…Verbindungen nacheinander in die selbe Zelle eingetragen, so dass letztlich nur der letzte erhalten bleibt, was ja wohl ziemlich sinnlos ist, Philipp,
wie schon Thorsten bemerkt hat. Richtiger wäre wohl entweder auch eine lfd Veränderung der Speicherzelle, zB …
Worksheets("blattname").Range("B2").Offset(f, 0) = CStr(strNamen(f)) & "_for"
…oder ein Auflaufenlassen in die einunddieselbe Zelle, aber unter Bewahrung des alten Inhalts …
With Worksheets("blattname").Range("B2")
.Value = ""
For f = LBound(strNamen) To UBound(strNamen)
.Value = .Value & " " & CStr(strNamen(f)) & "_for"
Next f
.Value = LTrim(.Value)
End With
Was als bereits vorhanden Variable definieren bedeuten soll, musst du noch erklären!
Gruß Luc :-?

Anzeige
AW: Bei deinem 'Array to String' wdn alle ...
05.08.2013 07:40:47
Philipp
Hallo :-)
Ja ich weiß da es sinnlos wäre und hab nur auf das für mich relevante hingewiesen und zwar wie man ein Array und einen Text verbindet und in einen bereits vorhandenen string bzw. integer konvertiert.
Ich hab oben mehrer Variablen: jan_for, jan_trh, jan_khl, jan_labor, jan_sonstige, feb_for_ feb_trh, usw.
//Mit einer Schleife und i = 1 to letzte_zeile wechsle ich die Zeile.
Mit dem Array wollte ich eigentlich von jan - dec "zählen". Dazu hätte ich dann lediglich nur _for, _trh, etc. angehängt und hätte diese "Array-Text Verbindung" als Variable definiert die ja bereits vorhanden ist.
Also: Wenn oben die Variable jan_for den Wert 5 hat. Warum kann ich nicht mit MsgBox CStr(strNamen(f)) & "_for" den Wert ausgeben? Ich bekomm nur als Meldung jan_for, obwohl ich den Wert (5) haben möchte.
Ich hoffe ich konnte mich deutlich ausdrücken :-)
Dannke und liebe Grüße!

Anzeige
AW: Bei deinem 'Array to String' wdn alle ...
05.08.2013 08:18:51
Oberschlumpf
Hi Phillip
Ich hoffe ich konnte mich deutlich ausdrücken
Nö, zumindest für mich nich.
...und in einen bereits vorhandenen string bzw. integer konvertiert
Das beißt sich!
weil String, ist
"jan" & "_for" = "jan_for
aber
i = 5
i & "_for" = ERROR ERROR ERROR
Du kannst an einen Integerwert (ZAHLENwert) NICHT einen String übergeben
Und dann schreibst du auf einmal was von ...Wenn oben die Variable jan_for den Wert 5 hat...
Deine eigentliche Frage war, dass du einen String mit einem anderen String verbinden willst.
Am besten wäre, du zeigst uns eine Bsp-Datei mit Bsp-Daten, aus der eindeutig hervorgeht, a) wie der IST-Zustand ist und b) wie der SOLL-Zustand sein soll.
Und achte bitte auf Tippfehler. Manche deiner Sätze muss ich mehrmals lesen, weil immer wieder mal von dir Buchstaben vergessen werden.
Ciao + bis später
Thorsten

Anzeige
AW: Bei deinem 'Array to String' wdn alle ...
05.08.2013 10:06:02
Philipp
Hallo!
Gut! Ich habe rein aus Interesse gefragt und um unnötige Schreibarbeit zu vermeiden.
Im Endeffekt wollte ich das:
Worksheets("Statistik").Range("B181").value = jan_for
Worksheets("Statistik").Range("B182").value = feb_for
Worksheets("Statistik").Range("B183").value = mar_for
Worksheets("Statistik").Range("B184").value = apr_for
Worksheets("Statistik").Range("B185").value = may_for
Worksheets("Statistik").Range("B186").value = jun_for
Worksheets("Statistik").Range("B187").value = jul_for
Worksheets("Statistik").Range("B188").value = aug_for
Worksheets("Statistik").Range("B189").value = sep_for
Worksheets("Statistik").Range("B190").value = oct_for
Worksheets("Statistik").Range("B191").value = nov_for
Worksheets("Statistik").Range("B192").value = dec_for
Worksheets("Statistik").Range("C181").value = jan_trh
Worksheets("Statistik").Range("C182").value = feb_trh
Worksheets("Statistik").Range("C183").value = mar_trh
Worksheets("Statistik").Range("C184").value = apr_trh
Worksheets("Statistik").Range("C185").value = may_trh
Worksheets("Statistik").Range("C186").value = jun_trh
Worksheets("Statistik").Range("C187").value = jul_trh
Worksheets("Statistik").Range("C188").value = aug_trh
Worksheets("Statistik").Range("C189").value = sep_trh
Worksheets("Statistik").Range("C190").value = oct_trh
Worksheets("Statistik").Range("C191").value = nov_trh
Worksheets("Statistik").Range("C192").value = dec_trh
Worksheets("Statistik").Range("D181").value = jan_khl
Worksheets("Statistik").Range("D182").value = feb_khl
Worksheets("Statistik").Range("D183").value = mar_khl
Worksheets("Statistik").Range("D184").value = apr_khl
Worksheets("Statistik").Range("D185").value = may_khl
Worksheets("Statistik").Range("D186").value = jun_khl
Worksheets("Statistik").Range("D187").value = jul_khl
Worksheets("Statistik").Range("D188").value = aug_khl
Worksheets("Statistik").Range("D189").value = sep_khl
Worksheets("Statistik").Range("D190").value = oct_khl
Worksheets("Statistik").Range("D191").value = nov_khl
Worksheets("Statistik").Range("D192").value = dec_khl
Worksheets("Statistik").Range("E181").value = jan_labor
Worksheets("Statistik").Range("E182").value = feb_labor
Worksheets("Statistik").Range("E183").value = mar_labor
Worksheets("Statistik").Range("E184").value = apr_labor
Worksheets("Statistik").Range("E185").value = may_labor
Worksheets("Statistik").Range("E186").value = jun_labor
Worksheets("Statistik").Range("E187").value = jul_labor
Worksheets("Statistik").Range("E188").value = aug_labor
Worksheets("Statistik").Range("E189").value = sep_labor
Worksheets("Statistik").Range("E190").value = oct_labor
Worksheets("Statistik").Range("E191").value = nov_labor
Worksheets("Statistik").Range("E192").value = dec_labor
Worksheets("Statistik").Range("F181").value = jan_sonstige
Worksheets("Statistik").Range("F182").value = feb_sonstige
Worksheets("Statistik").Range("F183").value = mar_sonstige
Worksheets("Statistik").Range("F184").value = apr_sonstige
Worksheets("Statistik").Range("F185").value = may_sonstige
Worksheets("Statistik").Range("F186").value = jun_sonstige
Worksheets("Statistik").Range("F187").value = jul_sonstige
Worksheets("Statistik").Range("F188").value = aug_sonstige
Worksheets("Statistik").Range("F189").value = sep_sonstige
Worksheets("Statistik").Range("F190").value = oct_sonstige
Worksheets("Statistik").Range("F191").value = nov_sonstige
Worksheets("Statistik").Range("F192").value = dec_sonstige
Mithilfe einer Schleife, kann ich von .Range(F" & i) die Zeile wechseln. Ist klar!
Jetzt wollte ich die Variable jan_for etc. auch mit einer Schleife bewerkstelligen. Deshalb dachte ich mir ich versuche es mit einem Array (Von Jan - Dec). Darum wollte ich die "Teile" (Jan, Feb,...) des Arrays mit dem Text verbinden. Z.B.: Jan (Array) + "_for" (Text) = jan_for. Diese Verbindung sollte als die deklarierte Variable:
Dim jan_for As Integer
Dim jan_trh As Integer
Dim jan_khl As Integer
.
.
.
fungieren!
Verständlich?
Cheerioh Philipp

Anzeige
AW: Bei deinem 'Array to String' wdn alle ...
05.08.2013 10:13:21
Oberschlumpf
hmmm...
Hi Phillip
Sorry, aber bitte was verstehst du nicht von - Bsp-Datei mit Bsp-Daten - ?
Ciao
Thorsten

AW: Bei deinem 'Array to String' wdn alle ...
05.08.2013 10:21:06
Philipp
Vergessen wir es!
Lg

AW: Bei deinem 'Array to String' wdn alle ...
05.08.2013 10:36:41
Oberschlumpf
Hi Phillip
Hmm, wer eine qualifizierte Antwort erwartet, muss erst mal eine qualifizierte Frage stellen.
Und was dein Hinweis betrifft "unnötige Schreibarbeit vermeiden", ja, das hättest du tatsächlich vermeiden können - hättest du gleich sofort ne Bsp-Datei mit Bsp-Daten hochgeladen.
Und auch mir hättest du Schreibarbeit erspart. Denn warum soll ich eine Datei noch mal erstellen, die doch auf deinem PC schon besteht?!?
Wenn du nicht weißt, wie das mit dem Upload geht, auch da kannst du uns fragen.
Aber nun willst du ja nicht mehr. Ok, kein Problem.
Ciao
Thorsten

Anzeige
noch was...
05.08.2013 10:41:08
Oberschlumpf
Hi
Deine Aussage "...Jetzt wollte ich die Variable jan_for..." ist falsch und irreführend.
"jan_for" ist keine Variable!, sondern einfach nur ein - in deinem Fall - zusammengesetzter Wert aus "jan" + "_for".
Wenn du jetzt (schon wieder? :-) ) die Hände über den Kopf zusammen schlägst, dann, nu ja, du ahnst es bestimmt, zeig uns ne Bsp-Datei mit Bsp-Daten.
Ciao
Thorsten

AW: Bei deinem 'Array to String' wdn alle ...
05.08.2013 19:47:27
ChrisL
Hi Philipp
Ich glaube immer noch, dass du aus einem String versuchst eine Variable zu machen. Eine Variable lässt sich nicht mit Strings zusammensetzen.
An deiner Stelle würde ich in Richtung "mehrdimensionales Array" recherchieren. Jan bis Dez. ist deine erste Dimension und for bis sonstige deine zweite Dimension.
arMuster(0,0) = WertJan_for
arMuster(0,1) = WertJan_trh
...
arMuster(0,4) = WertJan_sonstige
arMuster(1,0) = WertFeb_for
arMuster(2,0) = WertMar_for
...
arMuster(11,0) = WertDec_for
d.h. nur eine einzige Array-Variable wo alle Werte im Sinne einer Tabelle drin abgelegt sind.
cu
Chris

Anzeige
So, jetzt isset wohl klarer geworden, ...
06.08.2013 01:24:15
Luc:-?
…nämlich wieder 1× der untaugliche Versuch, aus einem String einen Variablennamen zu machen, wie Chris wohl richtig erkannt hat. So etwas ging weiland in den Dot-Kommandozeilen von WordStar, aber in Pgmiersprachen nur selten und wenn, dann nicht so! Dazu steht sogar schon etwas auf den aktuellen Forumsseiten und natürlich erst recht im Archiv. Also bitte mal recherchieren!
Nur der verquaste Erklärungs- und der, gelinde gesagt, unorthodoxe Schreibstil haben diese Erkenntnis zeitweilig verhindert.
So etwas kann man in VBA nur mit Namenseinträgen der Mappe/des Blattes bzw mit der vbFkt CallByName machen (nur Argument2!), wenn als Argument1 ein direkt übergeordnetes gültiges Objekt zV steht; anderenfalls keine Chance!
Luc :-?
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige