Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Werte aus Klammer übertragen
#1
Hallo, ich möchte ein Makro erstellen welche Werte aus einer Spalte in eine andere Tabelle einfügt. Dabei habe ich ein paar Probleme.

Teilweise gibt es Werte wie "(16/25)"; "(6/10)"; "(80/112)"; aber auch "(0/1)" "(-)" 
Das sind dann immer 2 unterschiedliche Werte die ich separat aufgelistet haben möchte.  "(-)" bedeutet dann (0/0) - schreibt es leider in der ersten Form auf.

Kann mir jemand eine Lösung erklären, wie ich die Werte aus der Klammer herausbekomme (bin leider nicht so begabt in Excel)
Antworten Top
#2
Hallo!

Dafür brauchst du kein Makro.
- Kopiere die komplette Liste in eine neue Tabelle
- Drücke Strg+h für Suchen/Ersetzen
- Ersetze "-" durch "0/0" (jeweils ohne Anführungszeichen) --> Alle ersetzen
- Ersetze "(" durch nichts --> Feld Ersetzen einfach leer lassen
- Ersetze ")" durch nichts
- Markiere die Spalte und wähle in der Menüleiste den Reiter Daten - Text in Spalten - Getrennt - Haken bei "Andere" setzen und den Schrägstrich eintragen - Fertig stellen

Et voila.

Alternativ - statt Text in Spalten - kannst du auch mit zwei Formeln in den Spalten daneben arbeiten:
Arbeitsblatt mit dem Namen 'Tabelle1'
ABC
216/301630

ZelleFormel
B2=LINKS(A2;FINDEN("/";A2)-1)
C2=RECHTS(A2;LÄNGE(A2)-LÄNGE(B2)-1)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Schöne Grüße
Berni
Antworten Top
#3
Hallo Marvin, :19:

wenn so etwas öfter vorkommt - hier mal eine mögliche Lösung per Makro: :21:

.xlsb   Split_Split_zwei_Zahlen_von_Klammer_und_Slash_trennen.xlsb (Größe: 19,84 KB / Downloads: 3)

Der erste Button extrahiert die Zahlen im gleichen Tabellenblatt in Spalte B und C.

Der zweite Button extrahiert die Zahlen in Tabellenblatt2 ohne Leerzeilen, wenn zwischen den Zahlen andere Dinge stehen. Hier wird auch - bei mehrmaligem ausführen des Makros - unten angefügt. Wenn du das nicht möchtest, musst du das Kommentarzeichen vor der Codezeile...

Code:
'Tabelle2.Rows("2:" & Tabelle2.Rows.Count).ClearContents

...entfernen.
________
Servus
Case
Antworten Top
#4
Tut mir leid für die späte Antwort, hat etwas gedauert bis ich dazu kam es auszuprobieren. Confused

Es war eine sehr gute Idee mit "ersetzen" die ganzen Klammern und so weiter zu korrigieren. Habe jetzt eine grundsätzliche Lösung gefunden, dafür danke! :)

Code:
Sub Werte_uebertragen()
'
' Werte_uebertragen Makro
'

'
    Range("A41").Select
    Selection.Copy
        Range("D3").Select
    ActiveSheet.Paste
    Range("A43").Select
    Selection.Copy
        Range("H3").Select
    ActiveSheet.Paste
    Range("A45:B45").Select
    Selection.Copy
    Range("J3").Select
    ActiveSheet.Paste
    Range("A47:B47").Select
    Selection.Copy
    Range("M3").Select
    ActiveSheet.Paste
    Range("A49:B49").Select
    Selection.Copy
    Range("P3").Select
    ActiveSheet.Paste
    Range("A51:B51").Select
    Selection.Copy
    Range("S3").Select
    ActiveSheet.Paste
    
    Range("A52").Select
    Selection.Copy
        Range("U3").Select
    ActiveSheet.Paste
    Range("A53").Select
    Selection.Copy
        Range("V3").Select
    ActiveSheet.Paste
    Range("A54").Select
    Selection.Copy
        Range("W3").Select
    ActiveSheet.Paste
    Range("A55").Select
    Selection.Copy
        Range("X3").Select
    ActiveSheet.Paste
    Range("A56").Select
    Selection.Copy
        Range("Y3").Select
    ActiveSheet.Paste
    
    Range("A58:B58").Select
    Selection.Copy
    Range("Z3").Select
    ActiveSheet.Paste
    Range("A59").Select
    Selection.Copy
        Range("AB3").Select
    ActiveSheet.Paste
    Range("A60").Select
    Selection.Copy
        Range("AC3").Select
    ActiveSheet.Paste
    Range("A63:B63").Select
    Selection.Copy
    Range("AE3").Select
    ActiveSheet.Paste
    Range("A64").Select
    Selection.Copy
        Range("AG3").Select
    ActiveSheet.Paste
    Range("A65").Select
    Selection.Copy
        Range("AH3").Select
    ActiveSheet.Paste
    
End Sub


Allerdings ist es bei mir so, dass die "Quellspalte" (A) sehr lang ist.
Es wird von Eintrag A41 bis A65 die Werte in eine Tabelle übertragen (wobei nicht alle 25 Zeilen genommen werden). Die nächsten 25 Einträge (A66-A90) werden dann in die selbe Tabelle, nur eine Zeile darunter übertragen. (das insgesamt 34 mal)

Könnt ihr mir eine Lösung geben wie das einfach geht oder muss ich jetzt 33 mal copy-paste machen und die jeweiligen "Ranges" um 25 erweitern?
Antworten Top
#5
Könnte mir bitte jemand einen Tipp geben wie ich die anderen 33 Zeilen einfüge ohne dass ich jeden einzelnen Eintrag bearbeiten muss?
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste