cement
Goto Top

Zelle mit Tastenkombination ausfüllen

Moin Leute,

ich bin gerade dabei, eine recht umfangreiche Excel-Tabelle zu pflegen, und klick mir dabei gerade 'nen Wolf...

Damit ich weiß, welche Zellen ich bereits bearbeitet habe, markiere ich diese mit einer Füllfarbe.

Um dem Maus-Arm vorzubeugen, versuche ich nun möglichst viel über die Tastatur zu erledigen.
Und nun meine Frage:

Gibt es eine Tastenkombination, um eine Zelle mit einer Füllfarbe auszufüllen?


Danke für alle Tipps,

Gruß CeMeNt

Content-ID: 58478

Url: https://administrator.de/contentid/58478

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

frost3006
frost3006 08.05.2007 um 11:31:00 Uhr
Goto Top
Du kannst dir mit Hilfe des Makrorekorders (unter Extras) deine Aktion aufzeichnen und eine Tastenkombination festlegen. Dann kannst du das per Tastenkombination durchführen
CeMeNt
CeMeNt 08.05.2007 um 11:37:26 Uhr
Goto Top
Super!
Klappt!

Danke, Gruß

CeMeNt
CeMeNt
CeMeNt 08.05.2007 um 12:45:48 Uhr
Goto Top
nun habe ich doch noch mal eine Frage zu dem Makro.
Folgende Arbeitsweise stelle ich mir vor:

Aus der ersten Tabelle kopiere ich den Wert einer Zelle.
In der zweiten Tabelle will ich nach diesem Wert suchen.
Diese Zelle soll dann farbig markiert werden.

1.) Spalte A markieren
2.) Strg + F ("Suchen"-Dailog öffnen)
3.) Strg + V (den zuvor kopierten Wert in die Suchmaske einfügen)
4.) Die gefundene Zelle gelb markieren

Das Problem ist Schritt 3.)
Hier wird im Makro immer der Wert eingetragen, den ich beim Aufzeichnen eingefügt hatte
s.u. (Selection.Find(What:="245347",)

Gibt es wohl eine Möglichkeit, dass immer nach dem gerade aktuellen Speicher-Wert gesucht wird?

Gruß CeMeNt


Tastenkombination: Strg+y

Columns("A:A").Select
Selection.Find(What:="245347", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
Range("A103").Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Range("B103:C103").Select
Selection.Copy
End Sub
bastla
bastla 08.05.2007 um 13:31:24 Uhr
Goto Top
Hallo CeMeNt!

Wenn es nur um das Suchen und Markieren in der zweiten Tabelle geht, könntest Du folgendes Makro einsetzen:
Sub SucheUndMarkiere()
Const Zieltabelle As String = "Tabelle2" 'bitte anpassen  
Dim Suchtext As String, c As Range
Suchtext = ActiveCell.Value
Sheets(Zieltabelle).Activate
Set c = Columns("A:A").Find(Suchtext, LookIn:=xlFormulas)  
If Not c Is Nothing Then
    With c
        .Select
        With .Interior
            .ColorIndex = 6
            .Pattern = xlSolid
        End With
    End With
Else
    Range("A1").Select  
End If
End Sub
Verwendung: Markiere in der ersten Tabelle die Zelle mit dem zu suchenden Wert und führe das Makro aus.

Wird in der zweiten Tabelle in Spalte "A" der Wert gefunden, wird der Zellcursor auf diese Zelle gestellt und der Hintergrund der Zelle gelb eingefärbt.

Wird der Wert nicht gefunden, wird der Cursor auf "A1" platziert.

Grüße
bastla
CeMeNt
CeMeNt 08.05.2007 um 13:48:50 Uhr
Goto Top
Hallo bastla,

erstmal Danke.
Aber ein kleines (und leider entscheidendes) Detail habe ich leider noch nicht verstanden:
Wie aktiviere ich denn Dein Makro? (ist dort schon ein Tasten-kürzel hinterlegt?)

Ich habe jetzt irgendein Makro genommen, und dies mit Deinem Code überschrieben.
Aber starten kann ich es halt nicht...

Gruß CeMeNt
bastla
bastla 08.05.2007 um 15:22:42 Uhr
Goto Top
Hallo CeMeNt!

Um (nachträglich) einem Makro eine Tastenkombination zuzuweisen, kannst Du aus der Excel-Oberfläche "Extras / Makro / Makros..." (oder Alt-F8) wählen, das Makro markieren und über die Schaltfläche "Optionen..." die gewünschte Tastenkombination festlegen.

Grüße
bastla
CeMeNt
CeMeNt 08.05.2007 um 15:36:20 Uhr
Goto Top
Bestens!

Klappt!

Ich denke, jetzt komme ich erst mal weiter, und werde meine Sehnenscheiden etwas entlasten...!

Danke, Gruß CeMeNt
bastla
bastla 08.05.2007 um 15:50:28 Uhr
Goto Top
Hallo CeMeNt!

Bechreib doch noch etwas näher, was Du so treibst - vielleicht finden wir ja noch bessere Sehnenscheidenentlastungsmöglichkeiten face-wink ...

Grüße
bastla
CeMeNt
CeMeNt 08.05.2007 um 16:21:25 Uhr
Goto Top
Also gut, Du hast es ja so gewollt...! face-wink

Ich aktualisiere die Daten für unser Kalkulationsprogramm.
Dafür habe ich (u.a.) zwei Excel-Tabellen.

Die erste Tabelle ist eine Kopie, direkt aus der Datenbank des Kalkulationsprogramms. Hier suche ich mir die Bestellnummer heraus.

Die zweite Tabelle ist der Original-Katalog vom Beschlag-Hersteller.

Nun kopiere ich die Bestellnummer aus der Datenbank, und suche diese Zahl im Original-Katalog.
Dort suche ich mir den aktuellen Preis heraus, und trage diesen wiederum direkt im Programm ein.

Außerdem kopiere ich zusätzlich noch zwei Beschreibungsfelder aus dem Katalog und trage diese ebenfalls in ein Feld direkt im Programm ein.

Im Katalog markiere ich dann den Datensatz gelb, so dass ich sehen kann, welche bereits aktualisiert wurden.


Mit Deinem Makro komme ich wie gesagt schon recht weit.
(Habe mir allerdings heute schon ein "Eigentor" geschossen: Hatte die gesamte Spalte A markiert, und dann anstatt "Suchen" das Makro "gelb markieren" gestartet. Also war nun alles gelb. und Makros kann man ja scheinbar nicht rückgängig machen, oder???)

Also falls Du noch weiteres Sehnenscheidenentlastungspotenzial siehst, bin ich für jede Anregung dankbar!!!

Gruß CeMeNt
bastla
bastla 08.05.2007 um 20:15:07 Uhr
Goto Top
Hallo CeMeNt!

Das klingt für mich nach einer typischen SVERWEIS-Anwendung, also dem Suchen nach einem Schlüsselbegriff in der ersten Spalte und dem Übernehmen von Werten aus weiteren Spalten.

Ich nehme einmal an, Dein Katalog ist wie folgt aufgebaut:
SpalteInhalt
ABestellnummer
BBezeichnung
CPreis
DBeschreibung1
EBeschreibung2
Mit der folgenden Formel kannst Du in der ersten Tabelle neben der Bestellnummer in Spalte A (zuerst 3 leere Spalten einfügen) die weiteren benötigten Informationen eintragen (zB zu Bestellnummer in A3 den Preis in B3):
=SVERWEIS($A3;Tabelle2!$A$2:$E$400;3;0)
Kurze Erklärung:
  • Zunächst wird der Suchbegriff angegeben (die Bestellnummer in A3). Damit Du diese Formel leichter auch in die Spalten C und D (für die Beschreibungen) kopieren kannst, wird die Spalte A fixiert ($A).
  • Danach folgt der Katalogbereich (beispielhaft die Zellen A2:E400 in "Tabelle2"). Da immer im gleichen Bereich gesucht werden muss, wird er zur Gänze absolut gesetzt ($A$2:$E$400).
  • Die 3 in der Formel steht für die (abgezählt) 3. Spalte des Katalogbereiches (da ich angenommen hatte, dass der Preis in Spalte C steht). Analog wären dann 4 und 5 für die Beschreibungen zu verwenden.
  • Mit der 0 am Ende erzwingst Du eine Suche nach exakter Übereinstimmung (SVERWEIS kann auch eine Bereichssuche - wie etwa für Rabattstaffeln verwendet, zB 300 bis 500 Stück). Dadurch erhältst Du bei nicht existierender Bestellnummer für die weiteren Informationen (Preis, Beschreibungen) jeweils die Fehlermeldung "#NV".

Auf diese Art und Weise entfiele das Wechseln zwischen den Tabellen, und Du könntest immer noch mit dem (nur leicht veränderten) Makro in der Katalogtabelle markieren, was Du aus der "Tabelle1" schon verarbeitet hast.

Das Makro würde dann so aussehen:
Sub SucheUndMarkiere2()
Const Zieltabelle As String = "Tabelle2" 'bitte anpassen  
Const Quelltabelle As String = "Tabelle1" 'bitte anpassen  
Dim Suchtext As String, c As Range
Suchtext = ActiveCell.Value
'ActiveCell.Interior.ColorIndex = 6 'mit dieser Zeile würde auch die Zelle in der ersten Tabelle eingefärbt.  
Sheets(Zieltabelle).Activate
Set c = Columns("A:A").Find(Suchtext, LookIn:=xlFormulas)  
If Not c Is Nothing Then
    With c
        .Select
        With .Interior
            .ColorIndex = 6
            .Pattern = xlSolid
        End With
    End With
Else
    Range("A1").Select  
    MsgBox "Bestellnummer " & Suchtext & " nicht gefunden!"  
End If
Sheets(Quelltabelle).Activate
End Sub
Da Du anhand der SVERWEIS-Formeln erkennen kannst, wenn eine Bestellnummer im Katalog nicht existiert, wirst Du vermutlich ohnehin nicht den Versuch unternehmen, diese Nummer in der Katalogtabelle zu kennzeichen. Solltest Du es irrtümlich dennoch tun, erhältst Du zusätzlich eine Information angezeigt.

Wäre es übrigens nicht auch sinnvoll, in der "Tabelle1" die bearbeiteten Bestellnummern ebenfalls farblich zu kennzeichnen? Falls ja, nimm einfach das Kommentarzeichen (') vor der Zeile
'ActiveCell.Interior.ColorIndex = 6  
weg.

Grüße
bastla
CeMeNt
CeMeNt 09.05.2007 um 09:37:13 Uhr
Goto Top
Super!

Das werde ich dann mal ausprobieren.
(Aber wahrscheinlich nicht heute, da mit immer noch der Kopf vor lauter Zahlen brummt!)

Ich sag dann mal Bescheid...

Die Zellen in der ersten Tabelle markiere ich nicht, da ich dort einfach von oben nach unten (also alphabetisch) durchgehe. Abends schreibe ich mir dann einfach auf, mit welchem Datensatz ich aufgehört habe.


Danke nochmal, Gruß
CeMeNt