Microsoft Excel

Herbers Excel/VBA-Archiv

bestimmten Zell-Inhalt löschen


Betrifft: bestimmten Zell-Inhalt löschen von: michael
Geschrieben am: 27.06.2017 07:09:13

Guten Morgen,
ich bin am formatieren einer Stückliste nach Kundenwunsch. In unserer Stüli steht die Angabe einer Zylinderschraube in einer Spalte, der Kunde möchte die Angabe auf 2 Spalten aufgeteilt haben.

Gegeben:
Spalte 1
CYL. SCREW M20X280 12.9 DIN912

Kundenwunsch:
Spalte 1
CYL. SCREW M20X280 12.9

Spalte 2
DIN912

Ich habe mit der Formel "=RECHTS(E2;LÄNGE(E2)-FINDEN(" ";E2)+1)" hinbekommen das "DIN912" in eine neue Spalte kopiert wird, nicht aber gelöscht wird in der Spalte 1.
Und dann ist es ja nicht immer nur "DIN912", sondern auch DIN913, DIN7979 usw. in einer Stückliste!
Kann man einen Code schreiben, wo die Zellen in z.B. Splate N nach den DIN`s (die ich dann im Code benenne-also DIN912, DiN913, DIN7979 usw.) durchsucht, diese ausschneidet und in der Zelle daneben abgelgt?
Wenn ja, wie würde dieser aussehen? Bitte um Unterstützung

DANKE

  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: Bernd
Geschrieben am: 27.06.2017 07:26:24

Hi,

und warum verwendest Du die eigentliche Spalte mit der ganzen Stückliste nicht als Hilfstabelle welche Du ausblendest und danach mit Links und Rechts Dir die Kundenwunschwerte holst?

MfG Bernd


  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: michael
Geschrieben am: 27.06.2017 07:31:55

Tjaaa, warum mache ich das nicht. Ich denke mit vba ist es die elegantere Lösung, also mit einer Schleife aber ich krieg halt sowas nicht hin ;-(


  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: Bernd
Geschrieben am: 27.06.2017 07:36:25

Hi,

OK, nur kann ich Dir dann auch nicht weiter helfen da ich kein VBA profi bin und stelle daher wieder auf offen.

MfG Bernd


  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: hary
Geschrieben am: 27.06.2017 07:56:09

Moin
Oder mit Makro.

Dim letzte As Long
Dim zelle As Range
Dim Din As String
With Worksheets("Tabelle1") '--Blattname anpassen
 letzte = .Cells(Rows.Count, 1).End(xlUp).Row 'die 1 ist die SpalteA evtl. auch anpassn. B=2,C= _
3 usw.
  For Each zelle In .Range("A1:A" & letzte) 'Spalte anpassen
    If InStr(1, zelle, "DIN") Then
       Din = Mid(zelle, InStr(1, zelle, "DIN"), 9 ^ 9)
        zelle.Offset(, 1) = Din '--Eintrag eine Spalte nach rechts
        zelle = Replace(zelle, Din, "")
    End If
  Next
End With

gruss hary


  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: michael
Geschrieben am: 27.06.2017 08:08:09

VIELEN DANK,

funktioniert super, Nur zum Verständnis, was bedeutet:

Din = Mid(zelle, InStr(1, zelle, "DIN"), 9 ^ 9) also das mit dem , 9^9) verstehe ich nicht

Hast die zeit und die Lust, mir bitte die einzelnen Zeilen zu erklären?
DANKE Dir


  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: hary
Geschrieben am: 27.06.2017 08:20:23

Moin
Mid(zelle, InStr(1, zelle, "DIN"), 9 ^ 9)
Mid ist das Pondon zur Formel Teil
zelle ist der Text
Instr ermittelt die Stelle an den "DIN" vorkommt, hier Stelle 25
9^9 ist eine Potenzrechnung und gibt an wie lang die Textausgabe ab der 25. Stelle angezeigt werden soll. Du kannst auch Bsp.: 10 eintragen dann sind es hoechstens 10 Stellen.
bei 9^9 ist es unwarscheinlich das nicht alle Zeichen ab Stelle 25 angezeigt werden.
gruss hary


  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: Michael
Geschrieben am: 27.06.2017 10:55:14

Hary,
so ganz verstehe ich es nicht aber danke dass es versucht hast bzw. Dir die zeit genommen hast. Eine letzte Frage noch. Wie sieht die Zeile aus, wenn ich ActiveSheet haben möchte anstatt "Tabelle1"?
Nach dem Öffnen der Textdatei steht ja gleich der Dateiname unten im Reiter drinnen und der ist ja jedesmal verschieden, desshalb ActiveSheet???


  

Betrifft: AW: activeSheet von: hary
Geschrieben am: 28.06.2017 06:40:12

Moin
Dann ersetz diese Zeile :

 With Worksheets("Tabelle1") '--Blattname anpassen

einfach durch:
 With ActiveSheet 

gruss hary


  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: Matthias L
Geschrieben am: 27.06.2017 07:40:41

Hallo

Tabelle1

 ABC
1CYL. SCREW M20X280 12.9 DIN912CYL. SCREW M20X280 12.9 DIN912
2CYL. SCREW M20X280 12.9 DIN913CYL. SCREW M20X280 12.9 DIN913
3CYL. SCREW M20X280 12.9 DIN914CYL. SCREW M20X280 12.9 DIN914
4CYL. SCREW M20X280 12.9 DIN915CYL. SCREW M20X280 12.9 DIN915
5CYL. SCREW M20X280 12.9 DIN916CYL. SCREW M20X280 12.9 DIN916
6CYL. SCREW M20X280 12.9 DIN917CYL. SCREW M20X280 12.9 DIN917

Formeln der Tabelle
ZelleFormel
B1=LINKS(A1;LÄNGE(A1)-LÄNGE(RECHTS(A1;FINDEN(" ";A1)+1)))
C1=RECHTS(A1;FINDEN(" ";A1)+1)
B2=LINKS(A2;LÄNGE(A2)-LÄNGE(RECHTS(A2;FINDEN(" ";A2)+1)))
C2=RECHTS(A2;FINDEN(" ";A2)+1)
B3=LINKS(A3;LÄNGE(A3)-LÄNGE(RECHTS(A3;FINDEN(" ";A3)+1)))
C3=RECHTS(A3;FINDEN(" ";A3)+1)
B4=LINKS(A4;LÄNGE(A4)-LÄNGE(RECHTS(A4;FINDEN(" ";A4)+1)))
C4=RECHTS(A4;FINDEN(" ";A4)+1)
B5=LINKS(A5;LÄNGE(A5)-LÄNGE(RECHTS(A5;FINDEN(" ";A5)+1)))
C5=RECHTS(A5;FINDEN(" ";A5)+1)
B6=LINKS(A6;LÄNGE(A6)-LÄNGE(RECHTS(A6;FINDEN(" ";A6)+1)))
C6=RECHTS(A6;FINDEN(" ";A6)+1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Spalte A dannach ausblenden.

Gruß Matthias


  

Betrifft: AW: bestimmten Zell-Inhalt löschen von: michael
Geschrieben am: 27.06.2017 08:08:46

Danke Matthias,
das ist auch eine sehr gute Lösung.

Merci


Beiträge aus den Excel-Beispielen zum Thema "bestimmten Zell-Inhalt löschen"