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

Eingabezelle mit Makro erstellen und formatieren

Eingabezelle mit Makro erstellen und formatieren
23.06.2007 12:55:52
Born
Wertes Kollegium,
bei der Arbeit mit einer Tabelle vertue ich mich ständig in der Zeile oder der
Zelle. Ich möchte die Eingabezellen markieren, damit ich gleich sehe, wo
ich etwas eintragen muß.
Vorgestellt habe ich mir das so:
Userbild
Das Makro soll wie in dem Bild beschrieben
1. eine Linie unter der letzten Zahl in Spalte A ziehen
2. die nächsten Eingabezellen rot markieren
3. die linke rote Zelle zur Eingabe aktivieren
4. und ganz besonders bequem wäre noch, wenn ich jetzt ohne
Maustaste, per Tabulator von einer roten Zelle zur nächsten springen könnte
Die Datei kann ich leider nicht hochladen, weil der Upload-Client meint, die Datei "a.xlsm",
welche bei mir auf dem Desktop liegt, habe einen ungültigen Dateinamen.
Herzlichen Gruß und Dank,
Born

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabezelle mit Makro erstellen und formatier
23.06.2007 17:58:00
Jan3
Hi,
Speicher mal Deine Excel 2007 - Datei unter eine vorhergehende Version ab. Dann kannst Du sie auch hochladen und außerdem haben viele noch nicht Excel 2007.
Jan

AW: Eingabezelle mit Makro erstellen und formatieren
23.06.2007 18:16:00
Josef
Hallo Born,
mal als Ansatz.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private lngRow As Long

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrExit
Application.EnableEvents = False

With Target
    If .Count = 1 Then
        If .Column = 1 Then
            If .Row = Cells(Rows.Count, 1).End(xlUp).Row Then
                lngRow = .Row + 1
                Range("A:L").Borders.LineStyle = xlNone
                Range("A" & .Row & ":L" & .Row).Borders(xlEdgeBottom).LineStyle = xlContinuous
                Cells(.Row + 1, 4).BorderAround LineStyle:=xlContinuous, Weight:=xlThick, Color:=RGB(255, 0, 0)
                Cells(.Row + 1, 7).BorderAround LineStyle:=xlContinuous, Weight:=xlThick, Color:=RGB(255, 0, 0)
                Cells(.Row + 1, 10).BorderAround LineStyle:=xlContinuous, Weight:=xlThick, Color:=RGB(255, 0, 0)
                Cells(.Row + 1, 4).Activate
            End If
        ElseIf .Column = 4 Then
            .Offset(0, 3).Activate
        ElseIf .Column = 7 Then
            .Offset(0, 3).Activate
        ElseIf .Column = 10 Then
            .Offset(0, -9).Activate
        End If
    End If
End With

ErrExit:
Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Eingabezelle mit Makro erstellen und formatier
23.06.2007 22:14:00
Born
Hallo Sepp,
danke sehr. Das ist im Prinzip, was ich gesucht habe. Nun gibts noch ein paar (kleine)
Probleme. Und wahrscheinlich liegt es daran, daß ich zu wenig Ahnung von VBA habe.
Wäre nett, wenn Du mich da noch durchbegleiten könntest:
Wenn ich das Makro in eine kleine Test-Tabelle einbaue (in das Sheet von Tabelle1)
funktioniert es genau so, wie es soll.
Wenn ich das Makro in meine eigentliche, umfangreiche Tabelle einbaue (in das Sheet "Tabelle3"),
passiert gar nichts. Ich hab schon überall nachgesehen, aber nicht gefunden, was ich
anpassen könnte.
Gibt es eine Rettung?
Gruß,
Born

Anzeige
AW: Eingabezelle mit Makro erstellen und formatier
24.06.2007 18:17:00
Josef
Hallo Born,
hast du den Code in das Modul der richtigen Tabelle eingebaut?
Ansonsten kann ich ohne deine Datei zu kennen auch nicht helfen.
Gruß Sepp

AW: Eingabezelle mit Makro erstellen und formatier
25.06.2007 10:21:58
Born
Hallo Josef,
Dein Makro funktioniert ausgezeichnet in einer leeren Mappe.
Sobald ich meine Tabelle in diese Mappe hineinkopiere, läuft es
nicht mehr.
Wenn ich eine Zahl in Spalte A hinzufüge, werden in vielen Spalten
Einträge vorgenommen. Könnte es sein, daß das Makro mit diesen
vielen Changes nicht umgehen kann?
Außerdem trage ich die neuen Zahlen in Spalte A nicht direkt ein,
sondern sie werden durch Referenz auf eine andere spalte eingetragen.
Könnte das die Ursache sein? Ich kann es nicht nachvollziehen, da ich
manche der Makrobefehle nicht kenne...
Gruß,
Born

Anzeige
AW: Eingabezelle mit Makro erstellen und formatier
26.06.2007 00:03:00
Josef
Hallo Born,
wenn die Einträge in "A" per Formel erfolgen, dann kann das Makro nicht darauf reagieren.
Davon war in deinem ersten Post auch nicht die Rede!
Ohne den Aufbau deiner Tabelle zu kennen und ohne genauere Infos, was, wann, wo und weshalb passieren soll, kann ich dir leider nicht helfen.
Gruß Sepp

AW: Eingabezelle mit Makro erstellen und formatier
26.06.2007 10:56:46
Born
Danke, Sepp,
Du hast natürlich recht. Hier ist die Mini-Version meiner Tabelle:
https://www.herber.de/bbs/user/43591.xls
Vielen Dank,
Born

Anzeige
AW: Eingabezelle mit Makro erstellen und formatier
26.06.2007 20:08:36
Josef
Hallo Born,
sorry, aber was soll ich mit der Tabelle anfangen?
Für dich mag dein Problem klar erscheinen, ein Außenstehender wie ich, kann sich wohl kaum vorstellen, was in der Tabelle geschieht oder geschehen soll.
Anstatt der Tabelle, wäre vielleicht eine exakte Beschreibung, was du Erreichen willst sinnvoller gewesen.
Gruß Sepp

AW: Eingabezelle mit Makro erstellen und formatier
27.06.2007 09:51:00
Born
Hallo Sepp,
sorry, dachte es wäre klar, aber das ist es natürlich nicht. Danke für Deine Geduld.

Die Tabelle funktioniert so:

1. In spalte J wird ein Wert eingetragen
2. dieser Wert wird nach Spalte B übertragen
3. In spalte E und F wird ausgegeben, in welcher Häufigkeit der Wert erschienen ist.
Zurück zu meinem ursprünglichen Anliegen:
Das Makro soll, sobald in Spalte A ein neuer Wert erscheint, einen Strich drunter ziehen und
die nächstfolgende Zelle in spalte G und H einrahmen. In der Beispieltabelle wäre der Strich
im Moment unter Zeile 59 und die umrahmten Zellen wären G60 und H60.,
(So wie es Dein erstes Makro bei leeren Tabellen schon einwandfrei macht).
Ganz klasse wäre, wenn das Makro noch eine kleine Zusatzfunktion erfüllen würde:
Wenn in Spalte J statt Äpfel oder Birnen "Pflaumen" eingetragen werden, soll der
Zellinhalt von Spalte G und H/letzte Zeile in die nächste Zeile übernommen werden.
(das würde mit Excel einfach funktionieren durch die Formel in G60 (bzw. H6)
=wenn(oder (j60="Äpfel"; j60="Birnen");G59;"") - aber ich kann diese Formel in den
spalten G und H nicht brauchen.
Na ja, ich hab mich bemüht diesmal so klar wie möglich zu sein. Ich hoffe, es klappt.
Danke und Gruß aus Berlin,
Born

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige