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
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...
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
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 ?
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
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 ?
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
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
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
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...
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
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 !!
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
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
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
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
MfG