Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatisches Runden

Forumthread: Automatisches Runden

Automatisches Runden
14.12.2005 12:54:15
Jörg
Hallo,
ich habe ein Problem mit einen Script , das mir eine Datei in eine Excelmappe läd,und rundet einige Spalten.
Nun unter Excel 2003 geht das ganze nicht mehr:
' einlesen des Sollwertes und runden auf ganze Zahlen Spalte F
If [F65536] = "" Then
LoLetzte = [F65536].End(xlUp).Row
Else: LoLetzte = 65536
End If
For LoI = 1 To LoLetzte
With Cells(LoI, 6)
If IsNumeric(.Value) Then
.NumberFormat = "#0"
.Value = Application.WorksheetFunction.Round(.Value, 0)
End If
End With
Next LoI
With Columns("G")
.NumberFormat = "#,##0.0000"
.Value = .Value
End With
With Columns("H")
.NumberFormat = "#,##0.0000"
.Value = .Value
End With
Cells.EntireColumn.AutoFit
Sheets("Auswert").Visible = True
Sheets("Auswert").Select
ActiveSheet.Unprotect
Sheets("Auswert").Select
Columns("A:H").Select
Selection.ClearContents
Range("A1").Select
Sheets("Simpati-Daten").Select
Range("E3").Select
Rows("3:3").Select
ActiveWindow.FreezePanes = True
Range("E3").Select
Sheets("Auswert").Visible = False
wie muss ich dieses Script ändern , damit es in alles Excel-Versionen läuft.
Gruss Jörg
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisches Runden
14.12.2005 23:08:40
Berber
Hallo,
also betreffend der Rundenfunktion gibt es in 2003 kein Problem.
Der Code läuft bei mir

Sub runden()
Worksheets(1).Cells(1, 1).NumberFormat = "#0"
Worksheets(1).Cells(1, 1).Value = Application.WorksheetFunction.Round(Worksheets(1).Cells(1, 1).Value, 0)
End Sub

Schau Dir mal an was For LoI = 1 To LoLetzte als LoLetzte zurückgibt als Zahlenwert
und was If IsNumeric(.Value) zurückgibt (wahr oder falsch)
Gruss
Berber
Anzeige
AW: Automatisches Runden
15.12.2005 13:47:25
Jörg
Hallo,
danke für die Antwort ...
Dann muss es an den Ländereinstellungen liegen .....,
ich werde es mal überprüfen.
Gruss Jörg
AW: Automatisches Runden
22.12.2005 10:29:53
Jörg
Hallo,
ich hjabe nun ebenfalls Excel 2003 auf meinen Rechner und habe
das Problem nun auf meinen Schirm.....
Hier nochmals der ganze Code zum Import:
Aktuell_Datei = ActiveWorkbook.Name
strVerzeichnis = "C:\Eigene Dateien\"
StrTyp = "*.xls"
Dateiname = (strVerzeichnis & Aktuell_Datei & StrTyp)
dat = Application.GetOpenFilename("Simpatidateien (*.x0*), *.*")
If dat = False Then Exit Sub
If dat "Falsch" Then Workbooks.OpenText dat, Origin _
:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2))
Cells.Select
Selection.Copy
Windows(Aktuell_Datei).Activate
Sheets("Simpati-Daten").Visible = True
Sheets("Simpati-Daten").Select
Cells.Select
ActiveSheet.Paste
Cells.EntireColumn.AutoFit
Columns("A:A").Select
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter
Columns("A:A").Select
Rows("3:3").Select
Selection.Delete Shift:=xlUp
Rows("1:2").Select
Selection.RowHeight = 27
Range("A1").Select
With Columns("C")
.NumberFormat = "#,##0.0000"
.Value = .Value
End With
' einlesen des Sollwertes und runden auf ganze Zahlen Spalte D
Dim LoLetzte As Long
Dim LoI As Long
If [D65536] = "" Then
LoLetzte = [D65536].End(xlUp).Row
Else: LoLetzte = 65536
End If
For LoI = 1 To LoLetzte
With Cells(LoI, 4)
If IsNumeric(.Value) Then
.NumberFormat = "#0"
.Value = Application.WorksheetFunction.Round(.Value, 0)
End If
End With
Next LoI
With Columns("E")
.NumberFormat = "#,##0.0000"
.Value = .Value
End With
' einlesen des Sollwertes und runden auf ganze Zahlen Spalte F
If [F65536] = "" Then
LoLetzte = [F65536].End(xlUp).Row
Else: LoLetzte = 65536
End If
For LoI = 1 To LoLetzte
With Cells(LoI, 6)
If IsNumeric(.Value) Then
.NumberFormat = "#0"
.Value = Application.WorksheetFunction.Round(.Value, 0)
End If
End With
Next LoI
With Columns("G")
.NumberFormat = "#,##0.0000"
.Value = .Value
End With
With Columns("H")
.NumberFormat = "#,##0.0000"
.Value = .Value
End With
Cells.EntireColumn.AutoFit
Sheets("Auswert").Visible = True
Sheets("Auswert").Select
ActiveSheet.Unprotect
Sheets("Auswert").Select
Columns("A:H").Select
Selection.ClearContents
Range("A1").Select
Sheets("Simpati-Daten").Select
Range("E3").Select
Rows("3:3").Select
ActiveWindow.FreezePanes = True
Range("E3").Select
Sheets("Auswert").Visible = False
Application.ScreenUpdating = True
WEnn ich mir nun die geöffnete dAtei anschaue, dann sehe ich, das hier
alle Felder als Text zu finden sind.
Daher ändere ich ja dies mit dem Macro um , aber warum klappt dies so bis Office 2000?
Gruss Jörg
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige