Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1376to1380
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

Wertübergabe an Zellen per VBA

Wertübergabe an Zellen per VBA
27.08.2014 09:33:39
Thorsten
Hallo Zusammen,
ich habe am 08.08.14 bereits einen Hilfeaufruf gestartet, jedoch kann ich dazu nicht mehr antworten. Deswegen nun erneut:
Hallo!
Ich habe eine Eingabe von max. 4 Zeichen "ABCD" in einer Zelle.
Wie funktioniert das das sobald ich fertig bin foglende Formatierung der Zelle bekomme: "0000ABCD_ABC"
Das "_ABC" ist immer gleich, jedoch varrieren die Eingaben zwischen 3-4 Zeichen.
Vielen Dank!
Hi,
ohne VBA geht das nur mit einer Hilfsspalte.
Eingabe erfolgt in A1. Dann z. B. in B1:
="0000"&A1&"_ABC"
Ansonsten ist das eben nur via VBA möglich:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERR_HANDLER
With Target
If .Column = 1 Then 'wirkt in Spalte A
If .Count = 1 Then
Application.EnableEvents = False
.Value = "0000" & .Value & "_ABC"
End If
End If
End With
ERR_HANDLER:
Application.EnableEvents = True
End Sub

VG; Boris
Damals hat mir Boris einen guten Tipp gegeben. Jedoch möchte ich nicht nur das es formatiert ist sondern der Wert übergeben wird. Desweiteren würde ich gern für jeden Wert zwischen B9:I16 diese Anwendung.
Vielen Dank!!

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wertübergabe an Zellen per VBA
27.08.2014 10:09:36
Martin
Hallo Thorsten,
die Antwort von Boris ist falsch, denn mit einer entsprechenden Zellenformatierung geht das auch ohne Formel und ohne VBA:
Userbild
Viele Grüße
Martin

AW: Wertübergabe an Zellen per VBA
27.08.2014 10:45:50
Thorsten
Vielen Dank für deine schnelle Hilfe. Ich habe vergessen zu erwähnen das ich nach der Formatierung ein Makro hab das mir die Dateien aus Ordner sucht. Jetzt ist das ja so das der Wert der Zelle der gleiche bleibt "ABCD".
Wie schaffe ich es in einem Bereich die Werte einzugeben quasi die 4 Ziffern und von mir aus per Button klick er mir für jeden Wert die fehlenden ergänzt. Mir reicht auch schon das es am Ende so aussieht: 0000ABCD
Vielen Dank

Anzeige
AW: Wertübergabe an Zellen per VBA
27.08.2014 11:13:50
Rudi
Hallo,
lies die Zellen mit
Var=Zelle.TEXT
aus. Dann enthält Var den Inhalt wie dargestellt.
Gruß
Rudi

AW: Wertübergabe an Zellen per VBA
27.08.2014 11:29:39
Thorsten
Inwiefern funktioniert das? Ich habe leider dazu keinen VBA Code.
Nochmal zur Erklärung: Ich habe einen Bereich an Zellen, dieser soll befüllt werden mit einer vierstelligen Nummer, per Button Klick soll diese Nummer umgeswitcht werden in eine 8Stellige Nummer + "_000"
Somit von der Eingabe: "1234" zu 00001234_000
Die Zelle soll nicht formatiert sein am Ende sondern den Wert "00001234_000" haben.
Vielen Dank!!!

AW: Wertübergabe an Zellen per VBA
27.08.2014 11:45:54
Martin
Hallo Thorsten,
irgendwie widersprechen sich deine Aussagen. Zuerst schreibst du:
"Ich habe vergessen zu erwähnen das ich nach der Formatierung ein Makro hab das mir die Dateien aus Ordner sucht."
Rudi gibt dir den VBA-Code zum Auslesen des Zellinhalts. Dann schreibst du auf einmal:
"Inwiefern funktioniert das? Ich habe leider dazu keinen VBA Code."
Rudi hat dir VBA-Code gegeben, der in deinem Makro einfach eingebaut werden muss. Wenn du uns dein Makro aber vorenthälst, dann können wir dir beim besten Willen nicht helfen.
Viele Grüße
Martin

Anzeige
AW: Wertübergabe an Zellen per VBA
27.08.2014 13:05:58
Thorsten
Vielen Dank Martin für deinen Hinweis.
Ich habe leider noch keinen VBA Code der soetwas bewerkstelligt.
Den angesprochenen VBA Code den ich habe, nutze ich um den Zelleninhalt in einem Ordern zu suchen (sprich die Datei ausfindig zu machen) und zu kopieren.
Mein Problem ist es eben wie ich von den 4 stelligen Ziffern ich es hinbekomme das der Wert durch Button Klick oder etc. in das Format gebracht wird.
Hoffe ich habe mich diesmal verständlicher ausgedrückt und bedanke mich für eure Geduld sowie Hilfe!
VG

AW: Wertübergabe an Zellen per VBA
27.08.2014 13:07:38
Thorsten
Ergänzung: Nicht nur Format sondern er soll den festen Wert haben, damit er mir auch die Datei findet in dem Ordner mit meinem Makro.

Anzeige
AW: Wertübergabe an Zellen per VBA
27.08.2014 13:42:41
Thorsten
Also nur um noch mehr Klarheit zu schaffen:
Es wird eine 4 Stellige Zahl eingegeben und diese soll immer den selben Zusatz bekommen. Von 1234 soll später folgendes werden: 00001234_012.
Nur dieses 4 Ziffern sind jeweils anders! Es muss so in der Zelle stehen damit ich später mit dem Makro nach dieser Datei suchen kann.
Vielen Dank und Grüsse

AW: Wertübergabe an Zellen per VBA
27.08.2014 14:19:30
Rudi
Hallo,
Es muss so in der Zelle stehen
ist doch Quatsch.
Wenn das immer gleich ist, kannst du den String auch im Makro zusammenbasteln.
Suchen = "0000" &Zelle &"_012"
Umwandlung der Zahl:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERREXIT
Application.EnableEvents = False
If Target  "" Then Target = "0000" & Target & "_012"
ERREXIT:
Application.EnableEvents = True
End Sub
Gruß
Rudi

Anzeige
AW: Wertübergabe an Zellen per VBA
27.08.2014 14:33:52
Thorsten
Danke Rudi!
Ja doch die muss so drin stehen, da meine Datei sagen wir mal "00001111_012.txt" heißt und bisher hat es nur geklappt wenn "00001111_012" in der Zelle stand.
Eine Frage zu deinem Makro. Erstmal kann ich es nicht ausführen?! Desweiteren wie sage ich ihm die festegelegte Range?
VG & Danke

AW: Wertübergabe an Zellen per VBA
27.08.2014 14:44:57
Thorsten
Was haltet Ihr von diesem:
Option Explicit
Sub Worksheet_Change()
Dim Target As Range
For Each Target In Range("B9:I16")
Application.EnableEvents = False
If Target  "" Then Target = "0000" & Target & "_012"
Application.EnableEvents = True
Next
End Sub

so würde es funktionieren!

Anzeige
AW: Wertübergabe an Zellen per VBA
27.08.2014 14:52:36
Thorsten
Das Problem daran ist nur das wenn ich eine 3 stellige Ziffer eingeben also 0123 das er mir folgendes schreibt: 0000123_012.
Jedoch bräuchte ich die führende 0 auch.

AW: Wertübergabe an Zellen per VBA
27.08.2014 15:17:19
Rudi
Hallo,
Target = "0000" & Format(Target,"0000") & "_012"
Gruß
Rudi

AW: Wertübergabe an Zellen per VBA
27.08.2014 15:28:50
Thorsten
Vielen Vielen Dank für eure Hilfe!!
War ne schwere Geburt aber vielen Dank !!

AW: Wertübergabe an Zellen per VBA
27.08.2014 16:17:32
Thorsten
Okey eines noch:
Jetzt kann ich eine 4 Stellige Zahl eingeben und in das bestimmte Format mir ausgeben lassen, damit mein anderes Makro die Dateien in den Ordnern suchen kann und findet es auch.
Wie kann ich diesen Schritt jetzt wieder rückgängig machen damit ich wieder diese 4 Ziffern bekomme. Es sollte möglich sein zwischen beiden Ansichten (Sprich den 4 stelligen Ziffern und dem "00001234_012") switchen zu könnnen.
Mit Excel würde es ja mit =Teil(etc.) funktionieren. Wie bewerkstellige ich das jedoch auf die gesamte Range.
Vielen Dank!

Anzeige
AW: Wertübergabe an Zellen per VBA
27.08.2014 14:29:52
yummi
Hallo Thorsten,
wenn Du die Zahl eingibst, dann kannst Du sie doch auch einer Variablen speichern.
dann gehtst du hin und sagst meinevar = "0000" & meinevar & "_012"
danach schreibst du die Variable dann in die Zelle wo sie hin soll.
Und falls das _012 auch noch veränderbar ist, dann musst du das halt vor dem anhängen entsprechend berechnen.
Ichh offe, ich hab dein Problem richtig verstanden und es hilft
gruß
yummi

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige