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

bestimmten Zelleninhalt in Spalte S verschieben ?

Forumthread: bestimmten Zelleninhalt in Spalte S verschieben ?

bestimmten Zelleninhalt in Spalte S verschieben ?
22.01.2008 16:27:00
Selma
Hallo Leute,
wie kann ich per VBA den Text "nicht freigegeben" (falls dieser in andere Spalte steht) nach Spalte S verschieben?
Ich habe in der Datei öfters den Fall das der Text "nicht freigegeben" in falsche Spalte steht und möchte dies verschieben.
z.B. in C20 steht "nicht freigegeben" soll aber in S20 stehen usw.
Vielen Dank im Voraus.
Liebe Grüße,
Selma

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bestimmten Zelleninhalt in Spalte S verschieben ?
22.01.2008 16:34:22
Andi
Hi,
zB so:

Sub t()
Dim c As Range
For Each c In Sheets(1).UsedRange
If c = "nicht freigegeben" And c.Column  19 Then
Cells(c.Row, 19) = "nicht freigegeben"
c.ClearContents
End If
Next c
End Sub


Schönen Gruß,
Andi

Anzeige
AW: bestimmten Zelleninhalt in Spalte S verschiebe
22.01.2008 16:54:44
Selma
Hallo Andi,
dein Code funktioniert. Nur wie kann ich die Formate (Schriftfarbe, Schriftart, Schriftgröße) auch mitübernehmen?
Vielen Dank !
LG
Selma

AW: bestimmten Zelleninhalt in Spalte S verschiebe
22.01.2008 16:43:00
Rudi
Hallo,
vorrausgesetzt in A1:S1 sind Überschriften und es ist eine zusammenhängende Tabelle

Sub verschieben()
Dim arrTmp, i As Long, j As Integer
Const strText As String = "nicht freigegeben"
arrTmp = ActiveSheet.Range("A1").CurrentRegion
For i = 1 To UBound(arrTmp)
For j = 1 To 18
If arrTmp(i, j) = strText Then
arrTmp(i, 19) = strText
arrTmp(i, j) = ""
End If
Next
Next
ActiveSheet.Range("A1").CurrentRegion = arrTmp
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: bestimmten Zelleninhalt in Spalte S verschiebe
22.01.2008 16:56:31
Selma
Hallo Rudi,
dies "vorrausgesetzt in A1:S1 sind Überschriften und es ist eine zusammenhängende Tabelle" verstehe ich nicht.
In A1:S1 habe ich nicht überall die Überschrift.
LG
Selma

AW: bestimmten Zelleninhalt in Spalte S verschiebe
22.01.2008 17:02:33
Erich
Hallo Selma,
noch ne Möglichkeit:

Option Explicit
Sub Nicht_freigegeben_Sp20()
Dim strSuch As String, rngF As Range
strSuch = "nicht freigegeben"
With Intersect(ActiveSheet.UsedRange, _
Union(Range(Columns(1), Columns(19)), Range(Columns(21), Columns(Columns.Count))))
Set rngF = .Find(What:=strSuch, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not rngF Is Nothing Then
Do
If IsEmpty(Cells(rngF.Row, 20)) Then
rngF.Copy Cells(rngF.Row, 20)
rngF.ClearContents
Else
rngF = "## " & strSuch
MsgBox "Zelle " & Cells(rngF.Row, 20).Address(0, 0) & " ist nicht leer!" _
& vbLf & rngF.Address(0, 0) & " wurde geändert." & vbLf & "Neuer Text:" _
& vbLf & vbLf & rngF, vbCritical, "Nicht_freigegeben_Sp20"
End If
Set rngF = .FindNext(rngF)
Loop While Not rngF Is Nothing
End If
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: bestimmten Zelleninhalt in Spalte S verschiebe
22.01.2008 17:10:00
Erich
Hallo Selma,
sorry, da hatte ich Spalte T als Ziel erwischt...
Hier mit Spalte S:

Option Explicit
Sub Nicht_freigegeben_Sp19()
Dim strSuch As String, rngF As Range
strSuch = "nicht freigegeben"
With Intersect(ActiveSheet.UsedRange, _
Union(Range(Columns(1), Columns(18)), Range(Columns(20), Columns(Columns.Count))))
Set rngF = .Find(What:=strSuch, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not rngF Is Nothing Then
Do
If IsEmpty(Cells(rngF.Row, 19)) Then
rngF.Copy Cells(rngF.Row, 19)
rngF.ClearContents
Else
rngF = "## " & strSuch
MsgBox "Zelle " & Cells(rngF.Row, 19).Address(0, 0) & " ist nicht leer!" _
& vbLf & rngF.Address(0, 0) & " wurde geändert." & vbLf & "Neuer Text:" _
& vbLf & vbLf & rngF, vbCritical, "Nicht_freigegeben_Sp19"
End If
Set rngF = .FindNext(rngF)
Loop While Not rngF Is Nothing
End If
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: bestimmten Zelleninhalt in Spalte S verschiebe
22.01.2008 17:34:34
Selma
Hallo Erich,
vielen Dank, es funktioniert prima.
LG
Selma

Danke für Rückmeldung - Gerne! (oT)
22.01.2008 17:39:58
Erich
;

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