Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

suche makro oder formel





Frage

gibt es eine formel oder ein makro, dass wenn ich in zelle A:1 etwas in "blau" schreibe es in zelle B:1 wiederholt wird ? ist soetwas möglich ?

Antwort 1 von Annan

Hallo,

ganz vereinfacht:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Font.ColorIndex = 41 Then
Range("B1").Value = Range("A1").Value
End If
End Sub

Den Code musst du in das Codeblatt des Tabellenblatts schreiben !

MfG

Antwort 2 von Ponschonovi

hi,

irgendwie funktioniert das nicht. habe die farbe blau aus der leiste oben in der zweiten reihe, die dritte von rechts genommen.
liegt es vielleicht da dran, das auch schwarzer text vorhanden ist ?

meine liste schaut so aus, das unter spalte "C" der haupttitel steht, in blau und noch einige angaben in schwarz. in spalte "K" soll nun "nur" der herausgefilterte blaue text aus spalte "C" da stehen.

das ganze soll sich dann bis zeile 500 fortsetzen...

Antwort 3 von Annan

Hallo Ponschonovi ,

wenn ich das richtig verstanden habe, dann sollte das Makro dein Problem lösen:

Option Explicit

Sub Blaue_Schriftfarbe()
Dim Zeile As Long
Dim i As Double
Zeile = Range("C500").End(xlUp).Row
For i = 1 To Zeile
If Cells(i, 3).Font.ColorIndex = 5 Then
Cells(i, 11).Value = Cells(i, 3).Value
End If
Next
End Sub

Dies einem Button zuweisen !
Übrigens ist ColorIndex = 5, das Blau was du suchtest. Durchsucht wird der Bereich C1:C500 nach Begriffen mit blauer Schriftfarbe. Gefundene Begriffe werden entsprechend in Spalte K aufgeführt.

MfG
Annan

Antwort 4 von Ponschonovi

"Dies einem Button zuweisen ! "

ist doch:

ENTWURFSMODUS > BEFEHLSSCHALTFLÄCHE > ???


und den code in die zuständige VBA Tabelle kopieren ?

Antwort 5 von Annan

Hallo,

entweder einer Befehlsschaltfläche oder einer Schaltfläche ! Mach es am besten genau so wie bei deinem anderen Beitrag (Suchfunktion). Das Makro einer Schaltfläche zuweisen, denn irgendwie sollte es ja ausgelöst werden.

MfG

Antwort 6 von Ponschonovi

vielen dank Annan,

funktioniert ;o)
aber nur soweit, dass die zellen mit rein blauem text in zelle "K" übertragen werden.
die zellen mit gemischter text-farbe (blau & schwarz) nicht.

wird wahrscheinlich nicht machbar sein ?

Antwort 7 von Annan

Hallo,

da muss ich leider passen !

MfG

Antwort 8 von Ponschonovi

trotzdem, vielen, vielen dank für deine mühe !!

Antwort 9 von Annan

Hallo Ponschonovi ,

nach ein wenig tüfteln geht es doch:

Option Explicit

Sub Blaue_Schriftfarbe()
Dim Zeile As Long
Dim i As Double
Zeile = Range("C500").End(xlUp).Row
For i = 1 To Zeile
If Cells(i, 3).Font.ColorIndex <> 5 Or Cells(i, 3).Font.ColorIndex = 1 Then
Cells(i, 11).Value = ""
Else
Cells(i, 11).Value = Cells(i, 3).Value
End If
Next
End Sub

Viel Spass

MfG
Annan

Antwort 10 von Ponschonovi

ich muss schon sagen, ihr hängt euch da wirklich rein um anfängern wie mir zu helfen.
alle achtung ;o)

wollte gerade schreiben, dass ich für das makro eine andere verwendung hätte, wenn man sie erweitern könnte, z.B:

makro sowie es gerade ist nur statt in zelle "K" in ein neues tabellenblatt und die leerzeilen bis auf eine zwischen den belegten zellen entfernen...

aber so wie´s jetzt ist, funktioniert es und ist genial ;o)

*leise sprech* wenn aber ne erweiterung geht, nehm ich sie seeeeeeehr gerne

mfg
ponscho

Antwort 11 von Ponschonovi

ha,

wie ich sie in ein neues tabellenblatt bekomme,
habe ich rausgefunden, nur nicht mit den leerzellen entfernen...

Antwort 12 von Annan

Hallo Ponschonovi,

wenn ich das richtig verstanden habe, dann möchtest zwischen den gefilterten (blauen) Begriffen immer eine Leerzelle haben u. diese Liste soll in einem neuen Tabellenblatt aufgeführt werden ?!

Dann probier mal so:

Option Explicit

Sub Blaue_Schriftfarbe()
Dim Zeile As Long
Dim i, iRow As Double
Zeile = Range("C500").End(xlUp).Row
iRow = 1
For i = 1 To Zeile
If Sheets("Tabelle1").Cells(i, 3).Font.ColorIndex <> 5 Or Sheets("Tabelle1").Cells(i, 3).Font.ColorIndex = 1 Then
Sheets("Tabelle2").Cells(iRow, 1).Value = ""
Else
Sheets("Tabelle2").Cells(iRow, 1).Value = Sheets("Tabelle1").Cells(i, 3).Value
iRow = iRow + 2
End If
Next
End Sub

Da du nicht geschrieben hast, in welche Spalte auf dem anderen Tabellenblatt, habe ich Spalte A genommen. Die Ursprungstabelle steht bei mir in Tabelle1, die Zieltabelle in Spalte A (Tabelle2). Das müsstest du eben nach deinen Bedürfnissen anpassen.

MfG

Antwort 13 von Ponschonovi

guten morgen Annan,

vielen dank für den veränderten code.

bevor ich jetzt hier gepostet hatte, wollte ich den fehler selber finden. aber ich komm nicht drauf !!
werde es aber weiter versuchen.

in diesem makro, werden jetzt nur die mischfarben-texte ins neue tabellenblatt verschoben, beim vorgänger makro auch die rein in blau geschriebenen.
woran liegt das ??

aber sonst perfekt, wie ich mir das vorgestellt habe.
vielleicht kann den makro ja noch jemand gebrauchen.
ich finde ihn genial ;o)

vielen, vielen dank !!

Antwort 14 von Annan

Hallo Ponschonovi,

bei mir klappt es !
Mit dem letzten Makro werden bei mir die rein blau geschriebenen u. die Mischfarbenen gleichermassen gelistet !
Hast du das Makro aus Antwort12 genau so übernommen ? Dann muss es funktionieren !

MfG

Antwort 15 von Ponschonovi

hallo Annan,

du hast recht.
da ich etwas experimentiert habe, habe ich an der stelle mit dem farbcode

 ColorIndex <> 5 Or Cells


50 eingetragen, da ich noch etwas in "meergrün" stehen hatte was auch noch rüber sollte.

ist egal das ändere ich dann auch in blau.
will dich jetzt auch nicht mehr nerven, da du schon genug zeit für mich investiert hast ;o)

könnte ich dich bewerten, würde ich dir 11 von 10 möglichen punkten geben...

vielen herzlichen dank !

Ponscho

Antwort 16 von Annan

Freut mich, dass ich dir helfen konnte

MfG

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: