Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1588to1592
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
Wert aus Zelle übernehmen ohne "%"
16.11.2017 15:36:25
Christian
Hallo Zusammen,
ich schon wieder.
Ich habe in einer Spalte mal Zahlen mit % Zeichen stehen, mal ohne - das liegt am Input der User und ist leider im Nachhinein schwer heilbar.
Nun möchte ich, dass in meiner UserForm5 die Textbox 9 mit dem Wert aus Spalte AL gefüllt wird - und das so, dass, wenn der Wert ohne % vorliegt, der Inhalt der Zelle * 100 multipliziert wird, und wenn der Wert mit % vorliegt, dass das Sonderzeichen vor der Multiplikation erst isoliert wird.
Herzlichen Dank vorab!
Bislang steht das folgender Code:
Dim strZeile As String
strZeile = Worksheets("Navigation Pipeline").Range("H4").Text
UserForm5.TextBox9.Value = .Range("AL" & strZeile).Value

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 15:55:57
JoNNy
Hallo Christian,
an sich hast du es ja schon hingeschrieben:
wenn der Wert ohne % vorliegt, der Inhalt der Zelle * 100 multipliziert wird, und wenn der
Wert mit % vorliegt, dass das Sonderzeichen vor der Multiplikation erst isoliert wird.
Wenn du den Wert einfach aus der Zelle ausließt in eine Variable,
dann kann man damit schon mal arbeiten.
Was für mögliche Werte sind das dann wenn du das so machen würdest,
kannst du davon mal ein paar hier reinschreiben.
Gruß JoNNy
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:18:39
Christian
Hallo JoNNy,
ich glaube, der Unterschied liegt darin, dass die Zellen mal Zahl und mal Text sind. Und Text lässt sich natürlich schlecht multiplizieren. Wie kann ich das denn lösen?
Vielen Dank und viele Grüße
Christian
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:20:29
JoNNy
Hallo Christian,
die Datei würde mir sehr weiterhelfen ich denke aber ich hab schon ne Idee.
Gruß JoNNy
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:27:42
Christian
Das ist ein RiesenDing:) und ich müsste sensible Daten löschen.
Stell Dir vor in Spalte AL1 bis AL10 stehen gerne 10 mal 100, wobei 2 davon über eine UserForm als Text in die Spalte übergeben worden sind.
Jetzt sollen die Werten wieder zurück in die UserForm und mit 100 multipliziert werden.
Viele Grüße
Christian
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:34:29
JoNNy
Naja grundsätzlich solang keine andere Zeichen mit in der Zelle stehen sondern nur Zahlen ist es egal wie es formatiert ist solange du es in eine Integer Variable speicherst behandelt er es wie eine Zahl.
Wenn noch andere Zeichen drin sind hilft die Funktion:

replace("WertausZelle","ZeichendieZuvielsind","")

Falls dann noch leerzeichen drin sind einfach nochmal mit trim("Zeichenfolge")
Gruß JoNNy
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:34:30
JoNNy
Naja grundsätzlich solang keine andere Zeichen mit in der Zelle stehen sondern nur Zahlen ist es egal wie es formatiert ist solange du es in eine Integer Variable speicherst behandelt er es wie eine Zahl.
Wenn noch andere Zeichen drin sind hilft die Funktion:

replace("WertausZelle","ZeichendieZuvielsind","")

Falls dann noch leerzeichen drin sind einfach nochmal mit trim("Zeichenfolge")
Gruß JoNNy
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:34:32
JoNNy
Naja grundsätzlich solang keine andere Zeichen mit in der Zelle stehen sondern nur Zahlen ist es egal wie es formatiert ist solange du es in eine Integer Variable speicherst behandelt er es wie eine Zahl.
Wenn noch andere Zeichen drin sind hilft die Funktion:

replace("WertausZelle","ZeichendieZuvielsind","")

Falls dann noch leerzeichen drin sind einfach nochmal mit trim("Zeichenfolge")
Gruß JoNNy
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:34:32
JoNNy
Naja grundsätzlich solang keine andere Zeichen mit in der Zelle stehen sondern nur Zahlen ist es egal wie es formatiert ist solange du es in eine Integer Variable speicherst behandelt er es wie eine Zahl.
Wenn noch andere Zeichen drin sind hilft die Funktion:

replace("WertausZelle","ZeichendieZuvielsind","")

Falls dann noch leerzeichen drin sind einfach nochmal mit trim("Zeichenfolge")
Gruß JoNNy
Der Browser geht echt aufn Geist Owt.
16.11.2017 16:35:34
JoNNy
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:49:31
Christian
Bei
replace(.Range("AJ" & strZeile).value,"%","")
bekomme ich den Fehlerhinweis
Erwartet: =
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:51:50
Christian
..vielleicht die dümmere Frage: wie speicher ich die Zelle als Integer Variable.
VIELEN DANK!!!
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 16:59:29
JoNNy
An der Stelle kleiner Tipp:
Auch wenn es ein bisschen mehr Aufwand ist, aber mach für fast alles ne Variable dann behälst du die Übersicht in deinem Code.
Und du solltest die Variablen eindeutig bezeichnen.
Also:

Dim WertausZelle as String
Dim ZahlReplaced As Integer
WertausZelle = Range("AJ" & strZeile).Value
ZahlReplaced = replace(WertausZelle,"%","")
Immer wenn du irgendwas machst einfach direkt mit:
 Variabel = "Was auch immer du gemacht hast"

gleich in ne Variable schreiben/speichern.
Gruß JoNNy
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 17:05:11
Christian
Für mich ist das ein großer und kein kleiner Tipp:)
Wobei ich den Teil nicht verstanden habe:
Immer wenn du irgendwas machst einfach direkt mit:
Variabel = "Was auch immer du gemacht hast"
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 17:28:10
JoNNy
Naja ganz einfach du kannst nicht einfach irgendetwas machen ohne das Ergebnis davon in irgendeiner Weise zu verwerten.
Dazu gibts eben verschiedene Möglichkeiten.
1. In eine Variable schreiben Bsp.

VariableZahl = 1+1

2. In ein Array Bsp.

ArrayZahlen(1) = 1+1
(Wobei das wie ne Variable ist)
3. Direkt wieder in eine Zelle Bsp

Range("A1").Value = 1+1 
Und wenn du das Ergebnis nicht verwertest kommt Excel an und fragt dich nach dem "=".
Daher die Meldung: "Erwartet: = "
Gruß JoNNy
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 17:44:18
Christian
Ich probier mich mal aus.
Herzlichen Dank für diese wertvollen Sätze von Dir!!!
AW: Wert aus Zelle übernehmen ohne "%"
16.11.2017 19:19:17
Christian
Sorry...
in der Spalte AL der relevanten Zeile steht nun 0,2 also 20%
Der Code
Dim WertausAL As String
Dim ZahlReplacedAL As Integer
If .Range("AL" & strZeile).Value = 0 Or .Range("AL" & strZeile).Value = "" Then
UserForm5.TextBox9.Value = ""
End If
If .Range("AL" & strZeile).Value "" Then
WertausAL = .Range("AL" & strZeile).Value
ZahlReplacedAL = Replace(WertausAL, "%", "")
UserForm5.TextBox9.Value = ZahlReplacedAL * 100
End If
liefert mir allerdings eine Runde 0 in die Textbox 9. Ich bin so ratlos....
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
17.11.2017 08:03:09
JoNNy
Hallo Christian,
wie wärs wenn du mir nur Spalte AL und da auch nur 4 Beispiel werte in ne Tabelle schreibst zusammen mit deinem aktuellen Code das würde es einfacher machen :)
Gruß JoNNy
AW: Wert aus Zelle übernehmen ohne "%"
17.11.2017 08:41:39
hary
Moin
So ganz versteh ich es nicht(ohne Bsp.-Mappe).
Versuch es mal so.
If .Range("AL" & strZeile).Value  "" Then
WertausAL = .Range("AL" & strZeile).Text '--nicht Value sondern Text
If InStr(1, WertausAL, "%") Then '--wenn % enthalten dann
UserForm5.TextBox9.Value = Replace(WertausAL, "%", "") * 100
Else '--wenn kein % dann
UserForm5.TextBox9.Value = WertausAL
End If
End If

gruss hary
Anzeige
AW: Wert aus Zelle übernehmen ohne "%"
17.11.2017 09:05:44
Christian
Hallo Harry,
super - das klappt. Manchmal ist es schon eine Tüftelei.
Großer Neid für Euer so stets glorreiches und kompetentes Wissen.
HERZLICHEN DANK AN ALLE BETEILIGTEN!
Christian

368 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige