Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1072to1076
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
Inhaltsverzeichnis

Ganze Spalte mit 1 Multiplizieren:Falsches Format

Ganze Spalte mit 1 Multiplizieren:Falsches Format
15.05.2009 07:22:39
chris
Hallo liebes VBA Profis und Excelspezialisten,
ich muss euch gleich früh um Hilfe bitte und hoffe Ihr könnt mir helfen.
Ich weiß nicht wie ich es am schnellsten hinbekomme.
Ich habe mehere Spalte die ich gerne mit 1 Multiplizieren möchte weil das Format Falsch ist.
Wenn ich zwar auf die zelle gehe steht das richtige Format in der einzelnen Zelle aber das Datum in der zelle wird nicht als Datum erkannt sondern erst wenn ich in die Zelle klicke und Enter drücke.
Erst dann zählt das Datum richtig mit.
Da es sehr viele Einträge in den Spalten sind mächte ich am liebsten die ganze Spalte mit einem Makro Multiplizieren lassen.
Ich könnte es zwar mit einer Schleife hinbekommen aber das würde ewig laufen.
Vielen dank an alle Helfer im vorraus
gruß Chris

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ganze Spalte mit 1 Multiplizieren:Falsches Format
15.05.2009 07:27:30
Werner
Hallo Chris,
probier mal folgendes:
Die Zahl "1" in eine freie Zelle schreiben, beispielsweise in Zelle D1.
Diese Zelle dann markieren und kopieren.
Anschließend den Bereich markieren, die Du als Zahl haben willst.
Über Bearbeiten/Inhalte einfügen.../Multiplizieren anklicken, fertig.
Gruß
Werner
AW: Ganze Spalte mit 1 Multiplizieren:Falsches Format
15.05.2009 07:58:39
chris
Jo funktioniert.
Wollte das ganze eigentlich in VBA haben aber das kann ich mir denke ich aufzeichnen.
Danke dir !
AW: fehlerhaft fügt "00.01.00" ein wenn zelle Leer
15.05.2009 08:05:52
chris
Hallo Werner,
ich muss leider doch noch einmal offen stellen den Beitrag.
Wenn ich das so aufzeichne dann schaut es so aus.
Option Explicit

Sub Makro1()
Selection.Copy
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.NumberFormat = "dd/mm/yy;@"
End Sub


Ich muss es über die ganze Spalte A aufzeichnen.
Nur das Problem ist jetzt das auch in zellen in denen nichts steht auf einmal das steht "00.01.00"
Weißt du oder jemand weiter ? Vielen Dank
P.s auch wenn ich beim einfügen der werte sage "Leerzellen überspringen" fügt er mir in die zellen in denen nichts steh eine 0 ein und das möchte ich nicht.Diese zelle soll Leer bleiben.
Danke

Anzeige
AW: fehlerhaft fügt "00.01.00" ein wenn zelle Leer
15.05.2009 08:49:26
Werner
Hallo Chris,
ich bin auch kein VBA-Spezialist, aber probier mal nachfolgenden Code:

Sub Makro1()
Dim i
For i = 1 To 65536
If Cells(i, 1).Value  "" Then
Cells(1, 4).Copy
Cells(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Selection.NumberFormat = "dd/mm/yy;@"
Application.CutCopyMode = False
End If
Next i
Ens Sub


Gruß
Werner

AW: Dachte mir schon das es nur mit Schleife geht
15.05.2009 09:20:27
chris
Danke Werner,
dachte mir schon das es nur mit einer Schleife geht.
AW: Dachte mir schon das es nur mit Schleife geht
15.05.2009 09:35:12
David
Hallo Chris,
das geht auch ohne Schleife:

Option Explicit
Sub text2date()
Dim c As Range
For Each c In Range("A1:A18")
c.NumberFormat = "dd.mm.yyyy"
c.Value = CDate(c.Value)
Next
End Sub


Den Range-Bereich musst du anpassen oder ggf. durch "Selection" ersetzen, dann musst du den betreffenden Bereich vorher markieren.
Rückmeldung wäre nett.
Gruß
David

Anzeige
AW: LeerZellen überspringen
15.05.2009 10:28:59
Daniel
Hi
die Leerzellenproblematik kannst du vermeiden, in dem du für die Aktion nicht alle Zellen der Spalte A selektierst, sondern nur diejenigen, die Texte enthalten.
das geht über BEARBEITEN - GEHE ZU - INHALTE und dort KONSTANTEN - Texte anchecken.
im Makrocode sieht das dann so aus:

Columns("A:A").specialcells(xlcelltypeConstants,2).select


allerdings sollte man SELECTS prinzipiell vermeiden, dh. wenn man dem Recorder Code aufgezeichnet hat, sollte man den Code immer noch wie folgt überarbeiten:
Range(xy).Select
Selection.IrgendeineAktion

wird zu
Range(xy).IrgendeineAktion
Gruß, Daniel

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige