Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige