Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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

Import CSV + Formatierung + Formeln, Wichtig!!!

Import CSV + Formatierung + Formeln, Wichtig!!!
04.05.2015 21:39:39
Tommy
Hallo liebe Community,
ich komme einfach nicht mehr weiter und benötige eure Hilfe.
Ich möchte eine CSV-Datei über einen Button in eine excel Tabelle importieren + formatieren + formeln automatisch einfügen.
Habe auch schon angefangen ein Makro dafür zu schreiben, was aber bisher nicht perfekt funktioniert.
Folgend findet ihr den Link zu den zwei Dateien (CSV + Excel)
https://www.herber.de/bbs/user/97411.zip
Zu eurer Information:
beginn der Daten ist immer die Spalte C
in meiner Beispiel klickt man auf die Zelle C15 und dann History importieren
die Grün markierten Zellen in der Excel Datei sind Daten die aus der CSV-Datei importiert werden; diese müssen nur noch richtig formatiert werden. Habe als Hilfe eine Beispielzeile drin. Die Zellen sollen gleichermaßen formatiert sein aber ohne die Farbe
in die rot markierkten Zellen sollen Formeln eingefügt werden. Die Formeln der Beispielzeile sollen übernommen und auf die zelle automatisch angepasst werden
weiße zelle: hier trage ich selber einen Wert ein, hier soll lediglich die Formatierung der Beispielzeile übernommen werden.
Ich wäre unendlich dankbar, wenn mir irgendjemand schnell helfen könnte. Ich komme einfach absolut nicht mehr weiter.
Viele Grüße aus Stuttgart
Tommy

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Import CSV + Formatierung + Formeln, Wichtig!!!
05.05.2015 14:55:58
fcs
Hallo Tommy,
ich hab jetzt mal versucht dein Makro lauffähig zu machen.
Gruß
Franz
Sub Import_CSV()
'Import_CSV Makro
Dim wks As Worksheet, ZelleEinfuegen As Range
Dim Zeile1 As Long, ZeileL As Long, strFormel As String
Set wks = ActiveSheet
Dim strFilename As String
strFilename = "C:\Users\Thomas\Desktop\Excel Forum\His.csv"
With wks
'Einfügezelle in Spalte C setzen
Set ZelleEinfuegen = .Cells(.Rows.Count, 3).End(xlUp).Offset(1, 0)
Zeile1 = ZelleEinfuegen.Row
With .QueryTables.Add(Connection:="TEXT;" & strFilename, Destination:=ZelleEinfuegen)
.Name = "His" & Format(Now, "YYYYMMDDhhmmss")
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = False
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(5, 2, 1, 2, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1) '5 = JMT bei einigen Spalten für korrekte Datums-Konversion
.TextFileDecimalSeparator = "."  'für deutsches Excel/Betriebssystem-Einstellung
.TextFileThousandsSeparator = "," 'für deutsches Excel/Betriebssystem-Einstellung
.Refresh BackgroundQuery:=False
End With
wks.QueryTables(1).Delete 'Querytable nach Import wieder löschen
ZeileL = .Cells(.Rows.Count, 3).End(xlUp).Row
If ZeileL >= Zeile1 Then
'Zeilenformat aus Zeile 14 auf alle neuen Zeilen kopieren
.Rows(14).Copy
With .Range(.Rows(Zeile1), .Rows(ZeileL))
.PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = Fale
With .Range(.Cells(Zeile1, 11), .Cells(ZeileL, 11)) 'Spalte K
strFormel = "=IF(OR(ISBLANK(RC[-1]),RC[-1]=""""),"""",WEEKNUM(RC[-1],2))"
.FormulaR1C1 = strFormel
End With
With .Range(.Cells(Zeile1, 13), .Cells(ZeileL, 13)) 'Spalte M
strFormel = "=IF(ISBLANK(RC[-3]),"""",RC[-3]-RC[-10])"
.FormulaR1C1 = strFormel
End With
With .Range(.Cells(Zeile1, 18), .Cells(ZeileL, 18)) 'Spalte R
strFormel = "=RC[-1]+RC[-3]+RC[-4]"
.FormulaR1C1 = strFormel
End With
With .Range(.Cells(Zeile1, 19), .Cells(ZeileL, 19)) 'Spalte S
strFormel = "=(RC[-1]+RC[-5])/RC[-3]"
.FormulaR1C1 = strFormel
End With
With .Range(.Cells(Zeile1, 20), .Cells(ZeileL, 20)) 'Spalte T
strFormel = "=ROUND(RC[-1],0)"
.FormulaR1C1 = strFormel
End With
With .Range(.Cells(Zeile1, 21), .Cells(ZeileL, 21)) 'Spalte U
strFormel = "=SUM(R13C[-2]:RC[-2])"
.FormulaR1C1 = strFormel
End With
With .Range(.Cells(Zeile1, 22), .Cells(ZeileL, 22)) 'Spalte V
strFormel = "=R8C3 + SUM(R13C[-4]:RC[-4])"
.FormulaR1C1 = strFormel
End With
End If
End With
End Sub

Anzeige
AW: Import CSV + Formatierung + Formeln, Wichtig!!!
05.05.2015 22:20:31
Tommy
VIELEN DANK =)
es funktioniert fast alles perfekt =)
nur eine Kleinigkeit noch. Die Formel in Spalte V ist falsch.
wie heißt die Formel als Makro richtig, wenn meine Beispielzelle V14 dort stehen hat
=WENN(ISTZAHL(V13);V13+R14;$C$8+R14)
Kannst du mir das vllt anpassen =)?
Gruß Tommy

AW: Import CSV + Formatierung + Formeln, Wichtig!!!
05.05.2015 22:21:21
Tommy
VIELEN DANK =)
es funktioniert fast alles perfekt =)
nur eine Kleinigkeit noch. Die Formel in Spalte V ist falsch.
wie heißt die Formel als Makro richtig, wenn meine Beispielzelle V14 dort stehen hat
=WENN(ISTZAHL(V13);V13+R14;$C$8+R14)
Kannst du mir das vllt anpassen =)?
Gruß Tommy

Anzeige
AW: Import CSV + Formatierung + Formeln, Wichtig!!!
06.05.2015 07:23:49
fcs
Hallo Thommy,
hier die Codezeile für die angepasste Formel in Spalte V
        With .Range(.Cells(Zeile1, 22), .Cells(ZeileL, 22)) 'Spalte V
strFormel = "=IF(ISNUMBER(R[-1]C),R[-1]C+RC[-4],R8C3+R14C18)"
.FormulaR1C1 = strFormel
End With
Gruß
Franz

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige