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

Range-Funktion funktioniert nicht

Range-Funktion funktioniert nicht
09.05.2006 16:51:25
Juie
Hallo Excelianer,
wir lesen aus unsrer FiBu eine csv-Datei aus. Dort sind die Werte jedoch ohne Komma, also 530000 anstatt 5300,00. Dies möchte ich von einer Makrodatei aus ändern. Also Datei öffnen (--> funktioniert) und anschließend alle Werte durch 100 teilen. Aber irgendwie funktioniert das nicht wie ich will. Ich bekommen einen Laufzeitfehler 1004.
Für ein besseres Verständnis unten der Code.
Kann mir jemand helfen?
Im voraus besten Dank
Juie
'Makro geschrieben am 09.05.2006 UW

Private Sub CommandButton1_Click()
Dim SN As Boolean
SN = Dateiauf(Range("A1").Value)  'SN=string name
If SN = False Then MsgBox "Die folgende Datei wurde geöffnet:" & Range("A1").Value
Call ZahlmitKomma
End Sub

Function Dateiauf(fn As String) As Boolean 'fn=file name
Dateiauf = False
If Len(fn) > 0 Then Workbooks.Open Filename:=fn
Exit Function
End Function
Sub ZahlmitKomma()
Dim Zelle As Range
Range("J:J").Select
For Each Zelle In Selection
Zelle.Offset(0, 3).Value = "RC(-3)/100"
Next Zelle
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range-Funktion funktioniert nicht
09.05.2006 17:17:11
IngGi
Hallo Juie,
ich hab dir die Prozedur ZahlmitKomma mal mit zwei Alternativen umgeschrieben. So sollte es funktionieren:
Sub ZahlmitKomma()
Dim Zelle As Range
For Each Zelle In Range("J:J")
Zelle.Offset(0, 3).FormulaR1C1 = "RC(-3)/100"
'Alternativ, wenn du keine Formel in der
'Zelle haben willst:
'Zelle.Offset(0, 3).Value = Zelle / 100
Next Zelle
End Sub
Ausserdem habe ich dir die Funktion Dateiauf so umgeschrieben, dass sie auch True zurückgibt, wenn die Datei bereits offen ist.
Function Dateiauf(fn As String) As Boolean 'fn=file name
If Len(fn) > 0 Then
Workbooks.Open Filename:=fn
Dateiauf = False
Else
Dateiauf = True
End If
End Function
Gruß Ingolf
Anzeige
AW: Range-Funktion funktioniert nicht
09.05.2006 17:33:18
Juie
Hallo Ingolf,
herzlichen Dank für die prompte Antwort.
Deine Verbesserungen funktionieren. Jetzt muss ich dem Makro nur noch beibringen, dass er die Berechnungen in der richtigen Datei macht. Momentan noch in der Makrodatei. Die Trennung von Makro und berechneter Datei erfolgt, da sich der Name der CSV-Datei bei jedem Auslesen verändert.
Danke nochmals
Juie

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige