Zellenwert bis zu einem x auslesen

Einen wunderschönen sonnigen guten Morgen,

ich bin mir gerade nicht sicher, ob die Idee funktioniert bzw. weiß nicht genau wie ich diese Idee soll.
Folgendes: ich habe in einer Zelle folgendes stehen: 100x200x50. Es handelt sich hierbei um höhe, breite und tiefe. Und nun kommts. Ich möchte die 100 in eine Spalte Höhe schreiben in eine andere Zelle, dann die 200 in eine andere Zelle und mit der 50 ebenso.
Und nun die Frage: mit welchem Befehl kann ich das machen?

Bin für jede Hilfe absolut dankbar!

Grüße,
Senor

Einen wunderschönen sonnigen guten Morgen,

Den wünche ich auch.

100x200x50. Es handelt sich hierbei um höhe, breite und tiefe.
Und nun kommts. Ich möchte die 100 in eine Spalte Höhe
schreiben in eine andere Zelle, dann die 200 in eine andere
Zelle und mit der 50 ebenso.

wenn die Zahlen aufgeteilt werden sollen,
schau dir mal die Funktion „Text in Spalten“ an.
Die Funktion findest du bei Excel2003 unter Daten.
Dort wählst du als Trennzeichen das „x“

Gruß Holger

Hallo Holger,

vielen Dank für diese schnelle Antwort. In der Arbeitsmappe hab ich schon einiges an VBA-Krams drinnen. Daher möchte ich das auch mittels VBA lösen. Ich kenne nur den Befehl nicht und dessen funktionsweise.
Vielleicht hast Du noch andere Vorschlöge?

Grüße,
Senor

Grüezi Senor

vielen Dank für diese schnelle Antwort. In der Arbeitsmappe
hab ich schon einiges an VBA-Krams drinnen. Daher möchte ich
das auch mittels VBA lösen. Ich kenne nur den Befehl nicht und
dessen funktionsweise.

…dann wird es höchste Zeit, dies kennen zu lernen… :wink:

Vielleicht hast Du noch andere Vorschlöge?

Prüfe doch mal den Vorschlag und beurteile dessen Wert erst anschliessend.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hey Thomas,

das hab ich auch. Und das kannte ich auch :wink: Aber nun soll das eben irgendwie besser automatisiert werden - mittels einem reinem Makro. Es ist natürlich nicht nur ein Wert - nein :wink: - viele Werte, das ganze einigermaßen dynamisch. Ich kenne wie gesagt nur den explziten VBA-Befehl nicht. Und mittels Aufzeichung macht es eben nicht genau das was ich will. Daher die VBA-Programmierung von Hand…

Grüße,
Senor

das hab ich auch. Und das kannte ich auch :wink: Aber nun soll das
eben irgendwie besser automatisiert werden - mittels einem
reinem Makro. Es ist natürlich nicht nur ein Wert - nein :wink: -
viele Werte, das ganze einigermaßen dynamisch. Ich kenne wie
gesagt nur den explziten VBA-Befehl nicht. Und mittels
Aufzeichung macht es eben nicht genau das was ich will. Daher
die VBA-Programmierung von Hand…

Hola Senor,

zeichne dir ein Makro auf, dann siehst du den entsprechenden Vba-Befehl.
Ggfs. dann das makro noch anpassen und fertig.
Wenn du nicht klarkommst, zeige hier das makro und beschreib genauer was es tun soll und wann.

Gruß
Reinhard

Sub auto\_open()
'
' Makro5 Makro
'

'
 Range("g5", Range("g65536").End(xlUp)).Select
 Selection.TextToColumns Destination:=Range("H5"), DataType:=xlDelimited, \_
 TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, \_
 Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar \_
 :="x", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), \_
 TrailingMinusNumbers:=True
 Range("H4").Select
 ActiveCell.FormulaR1C1 = "Höhe"
 Range("I4").Select
 ActiveCell.FormulaR1C1 = "Breite"
 Range("J4").Select
 ActiveCell.FormulaR1C1 = "Tiefe"
 Range("I3").Select
End Sub

Danke an alle Poster :wink:
Öhm - das Ding funktioniert soweit ganz gut. Nun kommt die Frage, ob ich Zellen überschreiben will. Das will ich. Mit welchem Befehl kann ich diese Abfrage automatisch auf True setzen?

Die Deluxevariante wäre natürlich in H nach dem letzten Eintrag zu suchen, dann eins rüber und eins runter zu springen (also G) und dort dann zu rechnen. Vielleicht kann mir das jmd. erklären wie das geht. Will das verstehen :smile:
Vielen Dank schon mal

Grüße,
Senor

Hola Senor,

Öhm - das Ding funktioniert soweit ganz gut. Nun kommt die
Frage, ob ich Zellen überschreiben will. Das will ich. Mit
welchem Befehl kann ich diese Abfrage automatisch auf True
setzen?

von welcher Excelversion sprichst du? Am Code erkenne ich daß sie wohl höher als meine XL2000er Version ist.
Andrerseits ist laut Code unwahrscheinlich daß es sich um XL007 handelt.

Wenn die Abfrage auch mit einem Code kommt, probier mal
Application.displayalerts=False und
Application.displayalerts=True
anfangs und am Ende des Codes einzubauen.

Sub auto\_open()
Range("G5:G" & Range("G" & Rows.Count).End(xlUp).Row).TextToColumns Destination:=Range("H5"), DataType:=xlDelimited, \_
 TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, \_
 Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar \_
 :="x", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1))
Range("H4:J4") = Split("Höhe Breite Tiefe")
End Sub

Die Deluxevariante wäre natürlich in H nach dem letzten
Eintrag zu suchen, dann eins rüber und eins runter zu springen
(also G) und dort dann zu rechnen.

Ich weiß nicht was du da jetzt genau mit rechnen meinst.

Die Zeilennummer der untersten vollen Zelle in h findest du so:

Zei=Range(„H“ & rows.count).end(xlup).row

Mit

Range(„G“ & Zei+1).select

biste dort wo du anscheinend hinwillst.

M.E., ich benutze Auto_Open niemals, wird der Code ins Leere laufen wenn du beim Schließen der Mappe ein anderes Blatt aktiv hattest und sie dann wieder öffnest.
Entfällt natürlich wenn da nur ein Blatt ist.
Diese meine Aussage ist ungetestet.

Gruß
Reinhard

Vielleicht kann mir das
jmd. erklären wie das geht. Will das verstehen :smile:
Vielen Dank schon mal

Grüße,
Senor