Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1240to1244
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
Inhaltsverzeichnis

Befehl verkürzen

Befehl verkürzen
Karsten
Hallo,
kann mir jemand helfen, diesen Code zu verkürzen?
Danke für die Hilfe.
Gruß
Karsten
Range("A1") = "=MID(RC[4],1,1)"
Makro1
Range("A1") = "=MID(RC[4],1,2)"
Makro1
Range("A1") = "=MID(RC[4],1,3)"
Makro1
Range("A1") = "=MID(RC[4],1,4)"
Makro1
Range("A1") = "=MID(RC[4],1,5)"
Makro1
Range("A1") = "=MID(RC[4],1,6)"
Makro1
Range("A1") = "=MID(RC[4],1,7)"
Makro1
Range("A1") = "=MID(RC[4],1,8)"
Makro1
usw. bist alle Zeichen "rübergewandert" sind.
AW: Befehl verkürzen
27.12.2011 12:57:25
Oberschlumpf
Hi Karsten
Versuch mal:
For Durchlauf = 1 To 8
Range("A1") = "=MID(RC[4],1," & Durchlauf & ")"
Makro1
Next

Hilfts?
Ciao
Thorsten
AW: Befehl verkürzen
27.12.2011 13:38:05
Karsten
Hallo Thorsten,
danke, das sieht schon schön kurz aus. Läßt sich der Durchlauf auf die Zeichenlänge von - in diesem Falle - E1 einstellen?
Ich könnte zwar z.B in E2 =LÄNGE(E1) reinschreiben, aber wüßte immer noch nicht, wie es nach dem "to" codemäßig stehenmüßte, dass es geht.
Vielleicht kennst du da eine Möglichkeit.
Gruß
Karsten
AW: Befehl verkürzen
27.12.2011 13:42:45
Oberschlumpf
Hi Karsten
Versuch mal:
For Durchlauf = 1 To Len(Range("E1").Value)
Für diese Version gilt als Referenz für E1 das aktive Tabellenblatt.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Befehl verkürzen
27.12.2011 13:46:16
Karsten
Perfekt. Danke.
Gruß
Karsten
was hast Du den vor?
27.12.2011 13:46:00
Matthias
Hallo
Warum schreibst Du nicht gleich in A1 =E1
Was macht Makro1?


Option Explicit
Sub Karsten()
Dim MyLen&, Durchlauf&
MyLen = Len(Cells(1, 5))
For Durchlauf = 1 To MyLen
Range("A1") = "=MID(RC[4],1," & MyLen & ")"
makro1
Next
End Sub
Sub makro1()
End Sub
Gruß Matthias
wundert Dich bei Karsten noch was ;-) oT
27.12.2011 14:16:12
robert
AW: wundert Dich bei Karsten noch was ;-) oT
27.12.2011 14:19:35
Karsten
Ach der Querulant lebt auch noch.
ich muss mal die Lanze brechen...
27.12.2011 14:29:47
Oberschlumpf
....für Karsten
Hallo alle
Jemand hat ein Formel/Programierungsproblem und fragt hier nach Hilfe.
So lange das Problem eindeutig + qualifiziert formuliert ist, ist die "Aufgabe" jedes Antwortenden, eine Lösung beizusteuern.
Jedem Antwortenden kann es doch egal sein, was der Fragende erreichen will.
Ciao
Thorsten
Anzeige
AW: ich muss mal die Lanze brechen...
27.12.2011 15:29:30
robert
Hi,
Lanze hin, Lanze her.....
ich dachte, die Regeln für den Fragesteller sollte jeder vorher lesen.
Karsten scheint das egal zu sein, er fragt wegen jedem M...t.
Schau mal einige seiner Beiträge an, vielleicht verstehst Du dann, was ich meine.
Gruß
robert
Lanze wieder zusammensetze :-)
27.12.2011 22:13:52
Reinhard
Hallo Thorsten,
möglicherweise hast du einige Beitragsfolgen nicht mitgelesen.
Selbstverständlich hast du mit dem was du schreibst im Allgemeinen Recht.
Aber wenn ein Anfrager nicht "mitspielt" kommt doch begründete Mißstimmung bei den vielen helfern hier auf.
Hast du gelesen was karsten antwortete als Robert ihm mit dem Betreff
"Verwende mal die Hilfe du ... owt"
mitteilte damit Karsten von sich aus in der Hilfe nachzuschauen was denn das ihm unbekannte Option Explicit darstellt.
Die Antwort von Karsten war/ist; nö, wenn ich damit nicht klar komme verwende ich das Forum.
Okay, Robert ist durch die geballten Beitragsfolgen in letzter Zeit von Karsten "angefressen", logisch ist
der Nachsatz im Betreff ", du...." sehr unsachlich.
Ich bin jetzt nicht so "angefressen" aber ich muß zugegeben, karsten nervt mich langsam.
Auch Luc scheint nicht sehr begeistert von Karsten zu sein.
Denk mal bitte darüber nach warum da drei dir ggfs. *gg* bekannte Usernamen INZWISCHEn so auf Karsten "reagieren".
Das liegt mitnichten am Excelwissenstand von Karsten. Der spielt Null eine Rolle.
Und karsten hat leider in seinen Beitragsfolgen schon m.E. zu oft gezeigt daß er er Lösungen will die ihm perfekt angepasst serviert werden.
Und dann, ohne es zu bedenken, wäre ich so genervt Robert würde ich schreiben, das bedenken zu können *gg*, schreibt er im dechiffrierten Klartext, warum sollte ICH mir die Mühe machen in der Hilfe nachzuschauen was denn Option Explicit bedeutet, für so "Dienste hab ich doch dieses Forum :-(
Das kann er haben. Das nennt sich Auftragsprogrammierung.
Nochmals, der Unmut über Karsten liegt nicht an seinem Excel/Vba-Wissen. Es liegt m.E. an seinem "Umgang" mit den im hier sehr reichlich genannten Lösungsansätzen und seinen Feedbacks" dazu.
Gruß
Reinhard
Anzeige
Verstehe nur nicht, dass immer noch so viele ...
28.12.2011 15:47:02
Luc:-?
…eine derart bewusste Verletzung der Forumsregeln tolerieren, Reinhard …!
GRutsch, Luc :-?
AW: was hast Du den vor?
27.12.2011 14:17:55
Karsten
Hallo Matthias,
deine Frage kann ich verstehen. Es ist mehr ein Experiment. Statt Makro1 steht jetzt Sleep 20
und oben drüber Declare Sub Sleep Lib "Kernel32" (ByVal Zeit As Long). Frag bitte nicht nach dem tieferen Sinn...
Mein "Problem" ist jetzt bloß: A1 ist eigentlich ActiveCell und aus E1 wird B9. Da die aktive Zelle praktisch überall sein kann stimmt es mit dem = "=MID(RC[4],1," nicht mehr. Wie kann ich da statt dessen B9 und die Formel unterbringen?
Gruß
Karsten
willst Du ne Laufschrift kreieren ?
27.12.2011 14:27:54
Matthias
Hallo
Dann benutz doch gleich Range("B9") statt RC[4],1,n
Gruß Matthias
Anzeige
AW: willst Du ne Laufschrift kreieren ?
27.12.2011 14:40:37
Karsten
Hallo Matthias,
eine Laufschrift ist, glaube ich, etwas anderes. In meinem Fall kommt aus B9 das erste Zeichen bis zum Letzten in einer Millisekundenpause zur aktiven Zelle "geflattert".
Nur, so geht es noch nicht:
ActiveCell = ("B9") & Durchlauf & ")"
Ich weiß nicht, wie ich dieses :MID(RC[...],1,1) reinbringen soll.
Gruß
Karsten
der Code im Klartext ...
27.12.2011 15:01:48
Matthias
Hi
... für User, welche die Datei nicht downloaden wollen.
Modul
Option Explicit
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Karsten()
Dim MyLen&, Durchlauf&
MyLen = Len(Cells(9, 5))
For Durchlauf = 1 To MyLen
Range("A1").Value = Mid(Cells(9, 5).Value, 1, Durchlauf)
Sleep 20
Next
End Sub
Evtl. sollte man das Tabellenblatt mit referenzieren.
In E9 steht ein Text → in A1 wird nun im Millisekundentakt der Inhalt eingetragen.
Gruß Matthias
Anzeige
AW: der Code im Klartext ...
27.12.2011 15:14:34
Karsten
Hallo Mattias,
ja danke um das Range("A1").Value = Mid(Cells(9, 5).Value, 1, Durchlauf) ging es mir.
Bloß noch 'ne Frage. Warum "Option Explicit"?
Wenn ich diesen Text weglasse, geht der Code doch auch. Warum soll's hin?.
Gruß
Karsten
Option Explicit ...
27.12.2011 15:28:43
Matthias
Hallo
Steht alles in der OH OnlineHilfe
Option Explicit zwingt Dich alle Variablen zu deklarieren (und sollte immer am Anfang stehen)
Du bekommst nur keinen Fehler weil ich das auch getan habe.
Würdest Du die Zeile:
Dim MyLen&, Durchlauf&
auskommentieren und Du hast kein Option Explicit am Anfang stehen gibt Dir Excel ne Fehlermeldung
Wenn Du hier ein Häckchen setzt,
Userbild
setzt Excel diese Zeile automatisch ein
Gruß Matthias
Anzeige
AW: Option Explicit ...
27.12.2011 16:08:35
Karsten
Hallo Matthias,
danke, ob ich das nun für alle Zeit gerafft habe....
Gruß
Karsten
Das 2. Häckchen mußt Du setzen
27.12.2011 16:14:37
Matthias
Hallo
Bei Variablendeklaration erforderlich, nicht bei Syntaxüberprüfung
Ich hatte im Screenshot das erste markiert, das war falsch.
War mein Fehler, Sorry
Gruß Matthias
OT: Häckchen oder Päckchen oder Häkchen ? _oT
27.12.2011 17:41:46
NoNet
_oT
war wohl noch bei den vielen Päckchen ;-) oT
27.12.2011 17:44:51
Matthias
Verwende mal die Hilfe, du........ oT
27.12.2011 15:30:35
robert
Fragen ist einfacher! Dabei heißt es immer - ...
27.12.2011 15:35:39
Luc:-?
Nur Frauen fragen nach dem Weg - Männer finden ihn! ;-)
Das scheint mir inzwischen doch ziemlich aus der Mode gekommen zu sein!
Gruß Luc :-?
AW: Verwende mal die Hilfe, du........ oT
27.12.2011 15:45:27
Karsten
nö, wenn ich damit nicht klar komme verwende ich das Forum.
Wer lässt sich schon gern "verwenden"! owT
27.12.2011 15:48:21
Luc:-?
:-?
AW: was hast Du den vor?
27.12.2011 14:49:10
Oberschlumpf
Hi Karsten
Ich sehe schon, dass hier scheint vielleicht ne längere Diskuusion zu werden.
Hmmm...ich erwähnte in einem meiner anderen Beiträge ja etwas von qualifizierter Fragestellung.
Wie wärs denn, wenn du uns ne Bsp-Datei zeigst, in der alles drin steht?
Nur du weißt genau, in welchen Zellen welche Werte stehen und in welchen Zellen welche Werte stehen sollen.
Ciao
Thorsten
Anzeige
AW: was hast Du den vor?
27.12.2011 15:10:56
Karsten
Hallo Thorsten,
erst mal danke für die Lanze. Ich sehe es auch so wie du. Man kann schließlich auch Abstand vom Helfen nehmen. Jedem seine Sache. Ansprüche an das Level des Fragenden sollte man besser nicht haben. Desto größer das Level desto kleiner die Frage.
Matthias ist nun doch dahinter gekommen, was ich wollte. Ich hab zwar auch einiges probiert, aber daß es so wird, wäre wohl Zufall gewesen.
ActiveCell.Value = Mid(Cells(9, 2).Value, 1, Durchlauf)
Nochmal Danke.
Gruß
Karsten
Es ist immer besser, man teilt das eigentl ...
27.12.2011 15:32:17
Luc:-?
…Problem bzw Ziel und Zweck mit, Karsten,
sonst fängt man sich nicht nur Roberts durchaus berechtigten Sarkasmus ein, sondern erhält möglicherweise kein optimales Ergebnis. Es gibt natürl auch den Fall, dass der Fragesteller sein eigentl Problem gar nicht erkennt bzw sich schon im Vorfeld auf einen bestimmten Lösungsweg versteift (meist Folge von Halbwissen!); davon leben dann Heerscharen von Problemanalysten, -lösern und -beratern. Lernt man bei jeder einschlägigen Weiterbildung!
Da es also eine solche Berufsgruppe gibt, warum sollen dann wir im Forum uns mit derartigen Rätselspielen beschäftigen?! ;->
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige