Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Zahlen nach Excel-Export Runden
zurück: Textfeld je nach Auswahl füllen oder leeren weiter: globale Variablen in Schleife auslesen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: unklar Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Hippolytus
Im Profil kannst Du frei den Rang ändern


Verfasst am:
23. Nov 2007, 12:21
Rufname:
Wohnort: Troisdorf

Zahlen nach Excel-Export Runden - Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Tach zusammen,

leider weiß ich jetzt nicht mehr weiter. Auch das surfen im Forum und über Google hat mich nicht weiter gebracht. Sad Ich exportiere eine Tabelle mittels:
Code:
        .Selection.CopyFromRecordset rs
nach Excel. Klappt wunderbar! Was nicht klappt ist das Zahlenformat.

Die Zahlen kommen in Format: 4,88000011444091 in Excel an.

Ich benötige die Zahlen aber mit maximal 3 Stellen hinter dem Komma.

Der Code:
Code:
        .Range("F:F").NumberFormat = "#,##0.000"
hilft nicht weiter, weil die Zahlen nur mit diesem Format angezeigt werden. Der Wert ist immer noch wie : 4,88000011444091.

Wie stelle ich es an, dass diese Werte, nach Möglichkeit die gesamte Spalte, auf drei Stellen hinter dem Komma gerundet werden ?

Schöne Grüße Hippolytus

_________________
Ich weiß das ich nichts weiß.
SGast
Gast


Verfasst am:
23. Nov 2007, 13:14
Rufname:


AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo,
du solltest nicht nach dem Export runden, sondern vorher.
Am einfachsten über den Export einer separate Abfrage, in welcher z.B. mit Hilfe der Format-Funktion gerundet (abgeschnitten) wird.

Gruß Steffen
Hippolytus
Im Profil kannst Du frei den Rang ändern


Verfasst am:
23. Nov 2007, 13:49
Rufname:
Wohnort: Troisdorf

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo Steffen,

Danke für deine Antwort, aber in Access haben die Zahlen das richtige Format. Ich vermute, es stellt sich nach dem Export in Excel ein Standartformat mit diesen vielen Stellen ein.

Schöne Grüße Hippolytus

_________________
Ich weiß das ich nichts weiß.
SGast
Gast


Verfasst am:
23. Nov 2007, 14:04
Rufname:

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo,
was glaubst du wo Excel die Nachkommestellen herzaubern soll, wenn nicht aus Access Laughing .
Die Stellen werden in Access nur nicht angezeigt.
Ansonsten gilt das oben geschriebene für eine Lösung.

Gruß Steffen
Hippolytus
Im Profil kannst Du frei den Rang ändern


Verfasst am:
23. Nov 2007, 14:22
Rufname:
Wohnort: Troisdorf


AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo Steffen,

finde ich ja toll!! Ich gebe in Access einen Wert von 4,88 ein und Access macht daraus 4,88000011444091. Da stellt sich die Frage:

Wie stelle ich diese Zahlenerweiterung ab?

Ich habe gerade den Code:
Code:
    GSNeu = Format(Nz(RS!GesamtLeistung), "#,##0.000 €")
eingebaut. Leider ist das Ergebnis das Gleiche. Sad

schöne Grüße

Hippolytus

_________________
Ich weiß das ich nichts weiß.
SGast
Gast


Verfasst am:
23. Nov 2007, 15:10
Rufname:

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo,
2 mal, dass kann ich mir nicht vorstellen Wink
Code:
    GSNeu = Format(Nz(RS!GesamtLeistung), "#,##0.000 €")
GSNeu ist dann ein Text und darf nur 3 Nachkommastellen machen. Kann mir aber nicht vorstellen, wie diese Codezeile zu deinem Export passt.
Am besten zeigst du mal deinen Exportcode, denn das Selection bei
Code:
        .Selection.CopyFromRecordset rs
"gefällt" mir auch nicht Wink

Gruß Steffen
Hippolytus
Im Profil kannst Du frei den Rang ändern


Verfasst am:
23. Nov 2007, 15:34
Rufname:
Wohnort: Troisdorf

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo Steffen,

ich muss wohl ein wenig ausholen. Für einen Bericht in Excel muss eine Kategorie erstellt werden (die setze ich dynamisch aus den Datensätzen einerDB dynamisch zusammen) und zusammen mit einem Leistungswert und weiteren Daten in diese Excel Tabelle geschrieben werden. Der Weg den ich gewählt habe ist so, dass ich eine Accesstabelle erstelle und diese dann als ganzes nach Excel exportiere. Das know how dazu habe ich unter anderem auch aus diesem Forum. Wie schon geschrieben, dass klappt bis auf das Zahlenformat für Leistungswerte auch super. Das Gerüst für den Export - Code ist auch aus diesem forum und sieht folgendermaßen aus:
Code:
Option Compare Database
Option Explicit

Public Sub ExcelRecordset(Datenquelle As String, FName As String)
    Dim oExcel As Excel.Application
    Dim DB As DAO.Database
    Dim rs As DAO.Recordset
    Dim i As Long
    Dim SpeicherPfad As String

    On Error Resume Next
    SpeicherPfad = "R:\MA\Einspeiser\Einspeiser-Intern\Datenbanken\" & _
                   "Entwicklung Einspeiser\"
    FName = SpeicherPfad & FName
    Err.Clear
    Set oExcel = GetObject(, "Excel.Application ")
    If Err.Number <> 0 Then Set oExcel = CreateObject("Excel.Application")
    On Error GoTo 0
    With oExcel
        .Visible = True
        .Workbooks.Add
        Set DB = CurrentDb
        Set rs = DB.OpenRecordset((Datenquelle), dbOpenSnapshot)
        For i = 0 To rs.Fields.Count - 1
            .Cells(1, i + 1) = rs.Fields(i).Name
            .Cells(1, i + 1).Font.Bold = True
        Next i
        .Range("A2").Select
        .Selection.CopyFromRecordset rs
        .Columns.EntireColumn.AutoFit
        .DisplayAlerts = False
        .ActiveWorkbook.SaveAs FName
        .DisplayAlerts = True
        .Quit
    End With
    Set oExcel = Nothing
End Sub
Sowohl die Leistung als auch GSNeu ist als Single deklariert. Die Werte kommen auch als Zahlen in Excel an.

Schöne Grüße

Hippolytus

_________________
Ich weiß das ich nichts weiß.


Zuletzt bearbeitet von Hippolytus am 23. Nov 2007, 16:21, insgesamt einmal bearbeitet
steffen0815
VBA-Programmierer


Verfasst am:
23. Nov 2007, 15:59
Rufname:

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo,
ja und wie lautet die Abfrage (SQL-Code), welche du exportierst?
Dort müsstest du doch die Format-Anweisung einbauen.

_________________
Gruß Steffen
Hippolytus
Im Profil kannst Du frei den Rang ändern


Verfasst am:
23. Nov 2007, 16:45
Rufname:
Wohnort: Troisdorf

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Sorry Steffen,
habe ich nicht ganz verstanden.

1. Ich erstelle eine Access Tabelle mit:
Code:
' Wurde wieder aus DoCmdRunSQL entfernt!!!!
    GSNeu = Format(Nz(rs!GesamtLeistung), "#,##0.000 €")
    DoCmd.RunSQL "INSERT INTO tblMeldungKategorien " & _
                        "(Zählpunktbezeichnung, Anlagestraße, " & _
                         "AnlageHausNummer, AnlagePLZ, AnlageOrt,  " & _
                         "Leistung, EnergieTräger, Datum, " & _
                         "EinspeiseEbene, Bio§8Abs2, Bio§8Abs3, " & _
                         "Bio§8Abs4, vNNKategorie, Kategorie) " & _
                 "VALUES ('" & Nz(rs!Zählpunktbezeichnung) & "', " & _
                         "' " & Nz(rs!Anlage_Straße) & "', " & _
                         "' " & Nz(rs!Anlage_Hausnummer) & "'," & _
                         "' " & Nz(rs!PLZ_Anlage) & "', " & _
                         "' " & Nz(rs!ORT_Anlage) & "', " & _
                          "'" & Nz(rs!GesamtLeistung) & "', " & _
                         "' " & Nz(EnergieTräger) & "', " & _
                          "'" & Nz(rs!Inbetrieb) & "', " & _
                         "' " & Nz(rs!Einspeiseebene) & "', " & _
                         "' " & Nz(Bio§8Abs2) & "', " & _
                         "' " & Nz(Bio§8Abs3) & "', " & _
                         "' " & Nz(Bio§8Abs4) & "', " & _
                         "' " & Nz(vNNKategorie) & "', " & _
                          "'" & Nz(AuswertungKategorie) & "')"

2. Die Sub ExcelRecordset wird mit
Code:
    ExcelRecordset "tblMeldungKategorien", "Kategorien.xls"
aufgerufen

3. Ich exportiere die Tabelle mit dem obigen Code.

4. Die Format Funktion GSNeu habe ich wie dargestellt eingebaut

Schöne Grüße

Hippolytus

_________________
Ich weiß das ich nichts weiß.
steffen0815
VBA-Programmierer


Verfasst am:
23. Nov 2007, 17:47
Rufname:

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo,
Code:
    GSNeu = Format(Nz(RS!GesamtLeistung), "#,##0.000 €")
Was soll diese Zeile bewirken Rolling Eyes .

Das Schreiben der Tabelle "tblMeldungKategorien" ist eigentlich überflüssig. Oder werden dort Daten angehängt.
Ansonsten kannst das Recordset rs ja gleich direkt exportieren.

Ziehst du das Prinzip aber so durch, solltest du eine Abfrage erstellen auf Basis der Tabelle "tblMeldungKategorien". In dieser Abfrage nimmst du dann die Umformatierungen vor. Diese Abfrage wird dann exportiert.
Auch bleibt die Frage, warum du nicht DoCmd.TransferSheet nutzt und evtl. anschließend formatierst.
Alles in allem geht hier meiner Meinung nach einiges durcheinander Wink.

Was willst du eigentlich genau exportieren, den aktuellen Datensatz des Formulars?

_________________
Gruß Steffen
Hippolytus
Im Profil kannst Du frei den Rang ändern


Verfasst am:
23. Nov 2007, 19:02
Rufname:
Wohnort: Troisdorf

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo Steffen,

die Zeile war ein schlechter Versuch die Zahlen auf 3 Stellen hinter dem Komma zu begrenzen. Klappt aber nicht. Eine Abfrage kann ich nicht benutzen weil ich aus den Daten in der DB eine neue Kennzahl generiere, die nicht in der DB gespeichert ist und sich von DS zu DS unterscheidet.
Wenn ich wüsste wie ich die Rundung in Excel realisieren könnte würde ich das auch tun.

Einen schönen Abend wünscht

Hippolytus

_________________
Ich weiß das ich nichts weiß.
steffen0815
VBA-Programmierer


Verfasst am:
23. Nov 2007, 19:04
Rufname:

AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo,
Zitat:
Eine Abfrage kann ich nicht benutzen weil ich aus den Daten in der DB eine neue Kennzahl generiere, die nicht in der DB gespeichert ist und sich von DS zu DS unterscheidet.
Ich verstehe dich absolut nicht, man kann immer eine Abfrage anstatt einer Tabelle exportieren.

Zitat:
Alles in allem geht hier meiner Meinung nach einiges durcheinander Wink
Es wäre sicher hilfreich, wenn du mal genau beschreibst was du machen willst.
_________________
Gruß Steffen
Hippolytus
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Nov 2007, 16:25
Rufname:
Wohnort: Troisdorf


AW: Zahlen nach Excel-Export Runden - AW: Zahlen nach Excel-Export Runden

Nach oben
       Version: Office 2k (2000)

Hallo Steffen,

ich kann offensichtlich nicht begreifbar machen was ich möchte. Ich habe deshalb eine eigene, wenn auch umständliche und wahrscheinlich jeden Programmierer zur Verzweiflung bringende Lösung gefunden. Sicher geht es einfacher, aber ich bin auch nur Bedarfs Programmierer.

Hier ist sie:
Code:
Public Sub ExcelRecordset(Datenquelle As String, FName As String)
    Dim oExcel As Excel.Application
    Dim DB As DAO.Database
    Dim RS As DAO.Recordset
    Dim i As Long
    Dim LetzteZeile As Long
    Dim SpeicherPfad As String
   
    SpeicherPfad = "c:\eignene Dateien"
    On Error Resume Next
    FName = SpeicherPfad & FName
    Err.Clear
    Set oExcel = GetObject(, "Excel.Application ")
    If Err.Number <> 0 Then Set oExcel = CreateObject("Excel.Application")
    On Error GoTo 0
    With oExcel
        .Visible = True 'False im Ernstfall
        .Workbooks.Add
        Set DB = CurrentDb
        Set RS = DB.OpenRecordset((Datenquelle), dbOpenSnapshot)
        For i = 0 To RS.Fields.Count - 1
            .Cells(1, i + 1) = RS.Fields(i).Name
            .Cells(1, i + 1).Font.Bold = True
        Next i
        .Range("A2").Select
        .Selection.CopyFromRecordset RS
        .Columns.EntireColumn.AutoFit
        'Spalte markieren und Spalte einfügen
        .Range("f:f").Select
        .Selection.EntireColumn.Insert
        'Letzte Zeile mit Werten bestimmen
        'Letzte Zelle in Spalte
        LetzteZeile = Cells(Rows.Count, 7).End(xlUp).Row
        'In der eingefügten Spalte 2.Zeile selektieren
        .Range("F2").Select
        'Funktion für Runden auf 3. Stellen hinter dem Komma eintragen
        .ActiveCell.FormulaR1C1 = "=ROUND(RC[1],3)"
        'Auf alle Zellen der belgten Zeilen in der selektierten Spalte
        'übertragen
        .Range("f2").AutoFill Destination:=Range("f2:f" & LetzteZeile)
        'Weitere Spalte einfügen
        .Range("f:f").Select
        .Selection.EntireColumn.Insert
        'Spalte markieren, Werte kopieren und Inhalte (nur Werte) einfügen
        .Columns("G:G").Select
        .CutCopyMode = False
        .Selection.Copy
        .Range("F1").Select
        .Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                                SkipBlanks:=False, Transpose:=False
        'Spaltenüberschrift übertragen
        .Range("H1").Select
        .Selection.Copy
        .Range("F1").Select
        .ActiveSheet.Paste
        'Überzählige Spalten wieder löschen
        .Columns("G:H").Select
        .CutCopyMode = False
        .Selection.Delete Shift:=xlToLeft
        'Schalte MsgBox "Überschreiben" aus
        .DisplayAlerts = False
        'Exceltabelle speichern
        .ActiveWorkbook.SaveAs FName
        'Schalte MsgBox "Überschreiben" ein
        .DisplayAlerts = True
        .Quit
    End With
    Set oExcel = Nothing
End Sub
Vielen Dank für dein Bemühen.

Einen angenehme Woche wünscht

Hippolytus

_________________
Ich weiß das ich nichts weiß.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Mittelwert aus 3 Zahlen 1 tsb 1011 08. Jul 2008, 21:23
KlausMz Mittelwert aus 3 Zahlen
Keine neuen Beiträge Access Tabellen & Abfragen: Text in Zahlen umformatieren 2 SandyXYZ 592 19. März 2008, 12:34
MAPWARE Text in Zahlen umformatieren
Keine neuen Beiträge Access Tabellen & Abfragen: Min und Max mit negativen Zahlen 4 tbarteck 600 22. Feb 2008, 11:52
tbarteck Min und Max mit negativen Zahlen
Keine neuen Beiträge Access Tabellen & Abfragen: Spalte anpassen, nur Zahlen 1 Silly14 588 11. Okt 2007, 19:49
JörgG Spalte anpassen, nur Zahlen
Keine neuen Beiträge Access Tabellen & Abfragen: Auswahlkirterium Anzeige Zahlen 2 janosch1979 401 23. Aug 2007, 16:34
janosch1979 Auswahlkirterium Anzeige Zahlen
Keine neuen Beiträge Access Tabellen & Abfragen: Addition von bestimmten Zahlen 5 Silly14 1297 25. Mai 2007, 12:50
Willi Wipp Addition von bestimmten Zahlen
Keine neuen Beiträge Access Tabellen & Abfragen: als Text formatierte Zahlen sortieren 2 tom_r 1439 16. Feb 2007, 12:33
tom_r als Text formatierte Zahlen sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Zahlen in Textfeld abfragen 9 tigerganz 3756 08. Jan 2007, 20:58
steffen0815 Zahlen in Textfeld abfragen
Keine neuen Beiträge Access Tabellen & Abfragen: Warum wird die Summe positiver Zahlen negativ? 4 JTE 1103 02. Jan 2007, 11:52
cbk Warum wird die Summe positiver Zahlen negativ?
Keine neuen Beiträge Access Tabellen & Abfragen: Format Monat in Abfrage aus einzelnen Zahlen 4 Gast 5686 16. Mai 2006, 18:50
Willi Wipp Format Monat in Abfrage aus einzelnen Zahlen
Keine neuen Beiträge Access Tabellen & Abfragen: + und - Zahlen 0 MiCHi2000 490 28. März 2006, 09:34
MiCHi2000 + und - Zahlen
Keine neuen Beiträge Access Tabellen & Abfragen: Runden Funktion in Abfrage fehlerhaft? 2 c0bRa 810 07. Feb 2006, 10:39
c0bRa Runden Funktion in Abfrage fehlerhaft?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Frontpage Forum