Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Im markierter Bereich jede Zelle aktivieren





Frage

Hallo, kleines Problem, komme aber nicht drauf. Ich moechte fuer einen beliebigen, markierten Bereich in einem sheet jede Zelle aktivieren und dann gleich zur naechsten springen. Im Prinzip so, wie wenn ich F2 und dann die Eingabetaste (naechste Zelle) druecke. For Each cell ... ActiveCell.Select Kann mir mal jemand einen Klapps geben...? VGJ

Antwort 1 von coros

Hi JonesM,

sorry, aber so ganz verstehe ich ehrlich gesagt nicht, was Du möschtest. Kannst Du das noch mal etwas genauer beschreiben?

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von JonesM

Hallo Oliver,

also, folgendes:

Beim beim Datenexport aus Access als Excel gibt es ja ab und an das Problem des Datenformates. Das heisst, eine Spalte mit Zahlen wird als Text dargestellt. In Excel formatiere ich jetzt die Spalte zum Beispiel als Num mit 4 Nachkommastellen und Tausenderpunkt.

Dies wird (zumindest bei mir) jedoch nicht ausgefuehrt. Die Zahlen bleiben standardmaessig, fuer Text, rechts ausgerichtet ohne die beschriebene Formatierung. Aktiviere ich jetzt eine der Zellen indem ich in die Zelle hineinklicke oder auch F2 druecke und die Zelle sofort wieder verlasse, ohne den Zelleninhalt zu veraendern, wechselt die Zelle auf das zuvor eingestellte Format. Das ist auch nicht immer so, ich vermute, dass es von der Formatierung in Access abhaengt.

Ich hatte jetzt ein Makro, bei dem ich vorher den jeweiligen Bereich markiere, welches diesen einmal durchlaeuft und jede Zelle nur "aktiv" macht (F2 oder klick). Dadurch werden dann die eingestellten Formatierungn uebernommen.

Bei meinem Umzug an meine neue Arbeitsstelle (gleicher AG), habe ich ausgerechnet dieses eine Makro "verdummbeutelt". :-)
Ausserdem arbeite ich jetzt mit einer portugiesischen Excel-Version und englischen Tastatur. :-(
Vielleicht haette ich doch zu Hause bleiben sollen... aber der Caipirinha und Churrasco entschaedigen. Ausserdem fahren wir heute abend an den Strand (bei uns ist jetzt halb 3) und hier gehen wir fast jede Woche essen: http://www.fogodechao.com.br/
<;-)
Ich hoffe, du hilfst mir trotzdem! ;-)

VGT

Antwort 3 von coros

Hi JonesM,

noch mal kurz eine Frage, besteht auch die Möglichkeit, die Zahlen durch eine Schleife in das richtige Format zu setzen? Was ich meine, mal angenommen, Du hast in Spalte A Deine Zahlen zu stehen, die aussehen als ob sie Text formatiert sind. Dann könnte man mit z.B. der Schleife

For Wiederholungen = 1 To Range("A65536").End(xlUp).Row
Cells(Wiederholungen, 1) = CDec(Cells(Wiederholungen, 1))
Next


die gesamte Spalte durchlaufen und die Werte in Zahlen mit Dezimalstellen umwandeln.
So eine Varinate halte ich für sinnvoller, als da irgend etwas wie die F2 Taste nach zu empfinden. Wobei das dann sowiso nur als SendKeys-Anweisung ginge. Also z.B.

SendKeys "{F2}"


Aber wie schon geschrieben, würde ich das eher mit einer Schleife machen, die die Daten wandelt.

Überleg Dir das mal mit obiger Schleife. Das ganze kann man natürlich noch ausbauen, aber dafür fehlen noch Angaben.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von woher

Hallo,
in meiner Firma gab es ein ähnliches Problem mit den aus einem Buchhaltungsprogramm nach Excel exportierten Zahlen.
Das ließ sich damit beheben, das ich in eine Zelle eine
1 eingetragen + kopiert habe, dann alle Zellen mit Zahlen markieren, dann rechts klick, Inhalte einfügen, dort die Optionen "Werte" + "multpliieren" markieren + o.k.
Damit habe ich Excel zum rechnen "gezwungen"
mfg
woher

Antwort 5 von JonesM

Hallo Oliver,
es sollte natuerlich auch mit Schleife funktionieren. Wie kann ich aber den Bereich so definieren, dass die Schleife nur fuer den markierten Bereich durchlaufen wird? Also auch ueber mehrerer Spalten.

@ woher: Ist natuerlich auch eine Moeglichkeit. Ich hatte es bisher ueber die Sendkey funktion gemacht. Makro abgelegt, Bereich oder Spalte(n) markiert und Makro gestartet -> fertig.

VGT

Antwort 6 von coros

Hi JonesM,

klar geht das. Kopiere nachfolgendes Makro in ein "StandardModul" und starte es über eine Befehlsschaltfläche.

Sub Markierten_Bereich_in_Zahlen_formatieren()
For Spalte = Range(Selection.Address).Column To _
Range(Selection.Address).Column + Selection.Columns.Count - 1
    For Zeile = Range(Selection.Address).Row To _
    Range(Selection.Address).Row + Selection.Rows.Count - 1
        Cells(Zeile, Spalte) = CDec(Cells(Zeile, Spalte))
    Next
Next
End Sub


Mit dem Makro werden nur die Zahlen aus dem markierten Bereich "umgewandelt".

Teste das mal und melde Dich bei Problemen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 7 von JonesM

Jepp, das wars.
Vielen Dank.

Antwort 8 von coros

Hi Jones,

freut mich. Danke Dir auch für die Rückmeldung.

MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.