Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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
Inhaltsverzeichnis

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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
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.
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

403 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige