Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Excel Makros

Empfohlene Antworten

Tach,

hab ein kleines Anliegen, und zwar soll ich hier in der Arbeit aus einer ExcelTabelle mit ca. 250 Zeilen ein Makro schreiben, das alle Rot makierten Zeilen in einer Neuen Tabelle (Tabelle2) ausgibt.

Wie kann ich das machen ? Wie ich ein Makro erstelle weiß ich, das Problem liegt nur bei der Farbmakierung. Das Makro soll bei verschiedenen ExcelTabellen funktionieren, da sich die Einträge häufig ändern. Es geht um die Belegung der Ports aller Sternkoppler im Netz. Die Rotmakierten sind die, die keinen freien Port mehr haben. Es sollen also einfach nur immer alle Rotmakierten ausgeben werden.

Bitte um baldige Hilfe

greetz

Hammerhead

sehr witzig, da kann man aber keine farbeigenschaften definieren.

oder kannst du mir das erklären ?

ja man kann makros recorden, aber man kann nicht einstellen, das alle rotmakierten felder (die sich ändern und nicht immer gleich sind), kopiert werden. es geht um die auswahl rote felder.

also so ungefähr:

if feldbackgroundcolor = red

insert into tabelle 2

oder so halt.

Klar, beim recorden müsstest Du wohl von Hand alle auswählen, und wenn dann nochmal eines dazukommt, dann hast wieder Pech gehabt. Ich gehe auch mal davon aus, dass Du hier über Feldeigenschaften agieren musst. Für den Fall, dass Du recht gutes Englisch sprichst, hab ich Dir da nen Link:

KLICK MICH!!!

P.S.: Keine Sorge, sooo gut ist deren Englisch auch wieder nicht!

stimmt, dann hab ich pech gehabt. deswegen muss ich das irgendwie über feldeigenschaften regeln.

danke für den link. mal schauen ob er mir hilft.

weitere hilfen sind trotzdem erwünscht

grüßle Hammerhead

Original geschrieben von Hammerhead

ja man kann makros recorden, aber man kann nicht einstellen, das alle rotmakierten felder (die sich ändern und nicht immer gleich sind), kopiert werden. es geht um die auswahl rote felder.

also so ungefähr:

if feldbackgroundcolor = red

insert into tabelle 2

oder so halt.

So, dann will ich auch mal versuchen ein wenig zu helfen.

Hab da auch zumindest schon mal nen Ansatz, der deinem Wunsch von oben entsprechen sollte.

MANKO bisher : ich weiß jetzt gerade überhaupt nicht mehr wie ich auf einfachem Wege die nächste Zelle in der Tabelle 2 aktivieren kann. :( D.h.: die Werte werden alle in ein Feld geschrieben, so daß nur der letzte Wert in der Zelle A1 am Ende steht.....vielleicht kann da noch mal einer nen TIP zu geben !!!

Ansonsten sollte es soweit funktionieren, wenn du in Tabelle 1 Daten hast und mehrere Felder ROT hinterlegt sind.


Sub Copy_Colored_Values()


anzRow = ActiveSheet.UsedRange.Rows.Count

anzCol = ActiveSheet.UsedRange.Columns.Count

anzCel = ActiveSheet.UsedRange.Cells.Count

Set MeinBereich = ActiveSheet.UsedRange


MsgBox Prompt:="Zeilen: " & anzRow & vbCr & "Spalten: " & anzCol & vbCr & "Zellen: " & anzCel, Title:="Test"


For i = 1 To anzCel


If (MeinBereich.Cells(i).Interior.ColorIndex = 3) Then


    MeinBereich.Cells(i).Copy


    Sheets("Tabelle2").Select

    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

        False, Transpose:=False


    'HIER FEHLT NOCH DAS VORBEREITEN DER NÄCHSTEN ZELLE, ZUM REINSCHREIBEN DES NÄCHSTEN WERTES !!!


End If


Next


End Sub

Wie gesagt, bin auch Newbie im Bereich VBA, hoffe mal, es hilft hier welchen auf die Sprünge....;)

Und vielleicht hilft es dir auch schon ein wenig. Werd mal schauen, daß ich das noch hinbekomme mit dem Werten in einzelne Zellen schreiben, entweder nebeneinander oder untereinander.....kann ja auch nich so schwer sein...... :rolleyes:

Einfach noch mal melden, wenn du so gar nicht weiterkommst.....oder auch wenn du es vielleicht doch fertig hast ! ;)

Gruss Flori

hast du mal versucht, ob es unter Format mit der Bedingten formatierung evtl. funktioniert?

Ich würde das mit autofiltern machen.

also (falls deine Tabelle noch nicht über die benötigten Zellen verfügt, einfügen) eine Zelle für die maximalen Ports, eine für die Benuzten, eine für die Differenz, und über den Autofilter nur noch die anzeigen, bei denen die Differenz null ist.

Oder geht es um was anderes?

Ja es geht um etwas anderes, aber trotzdem danke für den Einwurf.

Jo kann mir noch einer die Zeile sagen, die noch im Quelltext fehlt ? Der rest funkt opti. danke wegen der Mühe. Nur die Zeile wär noch prima.

greetz

  • 4 Wochen später...

Könnte mir noch einer die Fehlende Zeile für den Quelltext weiter oben sagen ? Ist wirklich wichtig.

Hallo Hammerhead,

hab mich jetzt da doch nochmal hintergeklemmt und die letzte Zeile "ausgebrütet" ! :)

Bin ja auch kein VBA-Experte, nur mal eben wenn's gebraucht wird, bin ich in der Sache drin.

Zudem war in den letzten Woche jede Menge anderes los, so daß ich mich einfach mal kurz entschuldigen möchte, daß ich da nicht eher zu gekommen bin, daß ganze zu komplettieren.

Nun aber hab ich's gefunden, was da im Quelltext oben noch stehen muß :

An der Stelle wo dieser "Platzhalter" (=der Satz, der auf die fehlende Zeile verweist :D ) steht, muß hin :

ActiveCell.Offset(0, 1).Select

-> Dann fügt er die Werte nebeneinander (A1,B1,C1...) ein

ODER aber

ActiveCell.Offset(1, 0).Select

-> Dann werden die Werte untereinander (A1,A2,A3....) eingefügt.

Nix zu Danken für die Mühen, so hab ich auch wieder nen bissel üben können ! ;)

Freut mich auf jeden Fall, daß es soweit zu funktionieren scheint und hoffe, daß dir das jetzt auch im Ganzen gut weiterhilft !!!

Viel Spaß damit ! :)

Flori

P.S. Wenn doch noch Fragen sind, einfach nochmal melden - versuche dann auhc nen bissel schneller zu sein als dieses Mal !

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.