Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Eingegeben Werte aus Makro in VBA Code schreiben

Betrifft: Eingegeben Werte aus Makro in VBA Code schreiben von: TomTurbo
Geschrieben am: 19.08.2014 10:56:59

Hallo Leute!

Ich komm mal mit einer rel. Komplexen Frage auf euch zu:
Ist es möglich, über ein Makro eingelesene Werte direkt in den VBA Code zu transferieren bzw wegzuschreiben?

ich hab nämlich ein Makro, welches derzeit auf 4-stellige zeichen abgfragt und danach einen Excel Output erldedigt. Um nicht immer den neuen Anforderungen nachkommen zu müssen und den bestehende VBA Code um diese 4-Zeichen-Codes zu erweitern, hätte ich mir gedacht. Ein Makro für ein Makro zu schreiben, dass dies für mich erledigt.
Der Benutzer führt das Makro "Eingabe" aus und kann in der Eingabeaufforderung beliebig viele 4-Zeichenlange CODES (z.B.: STAN, DENM, 1434,...) eingeben und speichern. Diese eingebenen CODES sollen in den VBA Code eines anderen Makros an eine gewisse Stelle geschrieben werden.

Ist dies technisch möglich? oder hat von euch wer eine bessere Idee für diesen USE Case?

BeispielCODE meinerseits zz

....
For lngZaehler = 2 To LoLetzte
If ((Left(Cells(lngZaehler, 3), 4) = "ABFE") Or _
(Left(Cells(lngZaehler, 3), 4) = "ANDE") Or _
(Left(Cells(lngZaehler, 3), 4) = "ANON") Or _
....

== um nicht immer in den VBA-Code zu gehen und die neuen CODES eitragen zu müssen, kann doch gleich der anwender die neuen Werte eingeben und diese sollen in den CODE stellen eingebettet werden...

DANKE
LG

  

Betrifft: AW: Eingegeben Werte aus Makro in VBA Code schreiben von: Rudi Maintaire
Geschrieben am: 19.08.2014 11:07:20

Hallo,
wozu Code per Code ändern?

z.B.

Sub aaa()
  Dim strCodes As String, arrCodes, lngZaehler
  strCodes = InputBox("Codes mit KOMMA getrennt eingeben")
  arrCodes = Split(Replace(strCodes, " ", ""), ",")
  If Not IsError(Application.Match(Left(Cells(lngZaehler, 3), 4), arrCodes, 0)) Then
  '...
  End If
End Sub

Gruß
Rudi


  

Betrifft: AW: Eingegeben Werte aus Makro in VBA Code schreiben von: TomTurbo
Geschrieben am: 19.08.2014 11:15:35

Hallo Rudi,

mir geht es jetzt darum, die eingelesenen Werte vom Benutzer in meinen VBA Code zu schreiben, ist dies grundsätzlich möglich? Wenn ja, wie? gibts hier Beispiele um di eingelesenen Codes an genaue VBA Code stellen in ein Makro zu platzieren sodass bei einem nächsten Makro aufruf, schon auf die zuvor eingelesenen Codes auch mit abeprüft wird z.B. ?

LG


  

Betrifft: AW: Eingegeben Werte aus Makro in VBA Code schreiben von: Rudi Maintaire
Geschrieben am: 19.08.2014 12:33:21

Hallo,
ist dies grundsätzlich möglich?
ja.
Das ist allerdings ziemlich kompliziert.

Außerdem muss auf jedem Rechner dem Zugriff auf das VBA-Projekt vertraut werden, das Projekt darf nicht geschützt und die Arbeitsmappe nicht freigegeben sein.

Ich würde es nicht tun.

Gruß
Rudi


  

Betrifft: AW: Eingegeben Werte aus Makro in VBA Code schreiben von: TomTurbo
Geschrieben am: 19.08.2014 12:52:55

Danke für die schnelle Antwort!
Wobei ich auf jedenfall jetzt trotz allerdem das Problem noch immer hab... weißt du in diesem Fall eine andere Lösung dies zu umgehen, damit ich nicht jedes mal meinen vba Code um diese Abprüfungen erweitern muss?


  

Betrifft: AW: Eingegeben Werte aus Makro in VBA Code schreiben von: Rudi Maintaire
Geschrieben am: 19.08.2014 13:02:16

hallo,
schreib deine Testcodes in ein (ausgeblendetes) Blatt.

Gruß
Rudi


  

Betrifft: AW: Eingegeben Werte aus Makro in VBA Code schreiben von: TomTurbo
Geschrieben am: 19.08.2014 13:36:38

OK Danke!
BTW: wie kann ich die eingebenen Daten untereinander in ein Tabellenblatt schreiben, ohne ein Element mir zu überschreiben und nach jedem erneuten makro aufruf die Daten an dem vorigen Datansatz dran hängen? Sprich das Array mit den Daten durchlaufen usw.

Bsp siehen unten. die "..." bedeuten, dass das Makro aufgerufen wurde und Daten eingeben wurde


CODE
====
BLAH
BEHE
SEHE
4AUG
...
ANSA
KEBA
...
TUTE


 

Beiträge aus den Excel-Beispielen zum Thema "Eingegeben Werte aus Makro in VBA Code schreiben"