Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn in Zelle P Inhalt dann schreibe in Zelle X

Wenn in Zelle P Inhalt dann schreibe in Zelle X
Viktoria
Hallo Leute,
hab ne doofe Frage:
Also Ich hab in Zelle P einen Inhalt dann möchte ich, das mir das Makro den Inhalt überprüft, und anhand des Inhaltes in eine Zelle einen String setzt den ich vorgebe.
Bei meinem Lösungsweg ist das Problem, das das Makro komischerweise nicht am Ender der letzten beschrifteten Zelle aufhört sondern bis zur Zelle 60000 ca. das Makro ausführt. Hat mir einer einen Tipp?
Sub ListeAbarbeiten2()
'neue Spalte wird nach Q eingefügt und mit "Bereich" beschriftet
Columns("R:R").Select
Selection.Insert Shift:=xlToRight
Range("R58").Value = "Bereich"
'Fügt in Spalte R alle Bereiche ein, in dem es von der Abteilungsbezeichnung in Spalte Q das  _
letzte Char löscht
With ActiveSheet.Range("R59:R" & Rows.Count)
.Formula = "=Left(Q59, 5)"
.Value = .Value
End With
Selection.AutoFilter Field:=16, Criteria1:="Muster, Mara"
With Application.Intersect(Columns("A:AA").SpecialCells(xlCellTypeConstants).EntireRow, Columns( _
"R"))
.SpecialCells(xlCellTypeVisible).Value = "DG/AC"
End With
ActiveSheet.ShowAllData
Selection.AutoFilter Field:=16, Criteria1:="Beispiel, Ben"
With Application.Intersect(Columns("A:AA").SpecialCells(xlCellTypeConstants).EntireRow, Columns( _
"R"))
.SpecialCells(xlCellTypeVisible).Value = "DG/AB"
End With
ActiveSheet.ShowAllData
Selection.AutoFilter Field:=16, Criteria1:="Finder, Felix"
With Application.Intersect(Columns("A:AA").SpecialCells(xlCellTypeConstants).EntireRow, Columns( _
"R"))
.SpecialCells(xlCellTypeVisible).Value = "DG/EC"
End With
Range("R1:R57").Value = ""
Selection.AutoFilter Field:=17, Criteria1:="DGS/EC"
With ActiveSheet.Range("R59:R" & Rows.Count)
.Formula = "=Left(L59, 2)"
.Value = .Value
End With
Selection.AutoFilter Field:=17, Criteria1:=""
With ActiveSheet.Range("R59:R" & Rows.Count)
.Formula = "=Left(L59, 2)"
.Value = .Value
End With
Range("R58").Value = "Bereich"
ActiveSheet.ShowAllData
End Sub

Vielen Dank für eure Hilfe
Anzeige
AW: Wenn in Zelle P Inhalt dann schreibe in Zelle X
13.04.2010 09:14:04
Ramses
Hallo
Probier mal
Option Explicit
Sub ListeAbarbeiten2()
Dim lastRow As Long
'Letzte Zeile bestimmen
lastRow = Range("Q" & Rows.Count).End(xlUp).Row
'neue Spalte wird nach Q eingefügt und mit "Bereich" beschriftet
Columns("R:R").Select
Selection.Insert Shift:=xlToRight
Range("R58").Value = "Bereich"
'Fügt in Spalte R alle Bereiche ein, in dem es von der Abteilungsbezeichnung in Spalte Q das _
letzte Char löscht
With ActiveSheet.Range("R59:R" & lastRow)
.Formula = "=Left(Q59, 5)"
.Value = .Value
End With
Selection.AutoFilter Field:=16, Criteria1:="Muster, Mara"
With Application.Intersect(Columns("A:AA").SpecialCells(xlCellTypeConstants).EntireRow, Columns( _
"R"))
.SpecialCells(xlCellTypeVisible).Value = "DG/AC"
End With
ActiveSheet.ShowAllData
Selection.AutoFilter Field:=16, Criteria1:="Beispiel, Ben"
With Application.Intersect(Columns("A:AA").SpecialCells(xlCellTypeConstants).EntireRow, Columns( _
"R"))
.SpecialCells(xlCellTypeVisible).Value = "DG/AB"
End With
ActiveSheet.ShowAllData
Selection.AutoFilter Field:=16, Criteria1:="Finder, Felix"
With Application.Intersect(Columns("A:AA").SpecialCells(xlCellTypeConstants).EntireRow, Columns( _
"R"))
.SpecialCells(xlCellTypeVisible).Value = "DG/EC"
End With
Range("R1:R57").Value = ""
Selection.AutoFilter Field:=17, Criteria1:="DGS/EC"
With ActiveSheet.Range("R59:R" & lastRow)
.Formula = "=Left(L59, 2)"
.Value = .Value
End With
Selection.AutoFilter Field:=17, Criteria1:=""
With ActiveSheet.Range("R59:R" & lastRow)
.Formula = "=Left(L59, 2)"
.Value = .Value
End With
Range("R58").Value = "Bereich"
ActiveSheet.ShowAllData
End Sub
Gruss Rainer
Anzeige
AW: Wenn in Zelle P Inhalt dann schreibe in Zelle X
13.04.2010 09:42:26
Viktoria
Dane Rainer,
mit ein paar Anpassungen hat dies schon einmal geklappt. Hab noch ne kleine Frage:
Mit dem folgenden Coding soll folgendes gemacht werden: Der Filter wird gesetzt, danach sollen von Spalte L nur die ersten beiden Chars in Spalte R geschrieben werden. Nun möchte ich aber das in Spalte R vor die beiden Chars noch "DG/" steht und danach praktisch die 2 Chars.
Selection.AutoFilter Field:=17, Criteria1:="DG/ESC"
With ActiveSheet.Range("R59:R" & lastRow)
.Formula = "=Left(L59, 2)"
.Value = .Value
End With
Danke dir.
Anzeige
AW: Wenn in Zelle P Inhalt dann schreibe in Zelle X
13.04.2010 09:49:03
Ramses
Hallo
Welche Anpassungen ?
Ich habe nur die Fehler korrigiert welche bei dir die ganze Spalte vollschreiben
Selection.AutoFilter Field:=17, Criteria1:="DG/ESC"
With ActiveSheet.Range("R59:R" & lastRow)
.Formula = "=""DG/"" & Left(L59, 2)"
.Value = .Value
End With
Gruss Rainer
Anzeige
AW: Wenn in Zelle P Inhalt dann schreibe in Zelle X
13.04.2010 09:58:41
Viktoria
Anpassungen, die bei mir noch falsch gewesen sind... entschuldige....
funktioniert leider nicht... komischerweise fügt er immer DG/EC ein, und nicht die Werte, die in Spalte L stehen.... kann es vielleicht daran liegen, weil ich nur L59 als bezug angebe und nicht die gesamte Spalte L?
AW: Wenn in Zelle P Inhalt dann schreibe in Zelle X
13.04.2010 15:20:41
Ramses
Hallo
"...weil ich nur L59 als bezug angebe und nicht die gesamte Spalte L.."
Natürlich, .. woher soll EXCEL denn wissen, dass du einen anderen Wert haben willst
Probiers mal so
With ActiveSheet.Range("R59")
.Formula = "=""DG/"" & Left(L59, 2)"
.AutoFill Destination:=Range("R59:R" & Lastrow)
End With
With Range("R59:R" & Lastrow)
.Value = .Value
End With
Gruss Rainer
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige