Excel In mehreren Exceldateien Texte auslesen u in neue Spalte mit Zahlenformat einfügen
Hallo.
Bin neu hier und habe aber sogleich eine wichtige Frage (für mich jedenfalls). Kenne micht mit VBA usw. leider nicht so gut aus, aber sollte jetzt dennoch etwas zustande bekommen. Folgendes Problem:
In einem Ordner X sind mehrere Excel-Dateien (immer selber Formatierung) und in einer Spalte Y steht ein gewisser Wert (00,00 l) in jeder Zeile. So das 1. Problem ist, das ich nur die Zahlen brauche ohne das l (=Liter) und diese Werte müssen dann eine Spalte weiter rechts (ist frei) kopiert werden! So und nun sollen alle Werte über 40 fett und rot markiert werden!!
Und diese Prozedur sollte in allen Excel-Tabellen in diesem Ordner statt finden. Am besten wäre wenn dies dann per .vbs oder .bat (weiß ja nicht welche es sein muss) ausführbar sein. Geht das?
Ich bedanke mich jetzt schon für eine rasche Antwort. Bei evt. Rückfragen stehe ich gerne zur Verfügung.
Danke.
lg
Bin neu hier und habe aber sogleich eine wichtige Frage (für mich jedenfalls). Kenne micht mit VBA usw. leider nicht so gut aus, aber sollte jetzt dennoch etwas zustande bekommen. Folgendes Problem:
In einem Ordner X sind mehrere Excel-Dateien (immer selber Formatierung) und in einer Spalte Y steht ein gewisser Wert (00,00 l) in jeder Zeile. So das 1. Problem ist, das ich nur die Zahlen brauche ohne das l (=Liter) und diese Werte müssen dann eine Spalte weiter rechts (ist frei) kopiert werden! So und nun sollen alle Werte über 40 fett und rot markiert werden!!
Und diese Prozedur sollte in allen Excel-Tabellen in diesem Ordner statt finden. Am besten wäre wenn dies dann per .vbs oder .bat (weiß ja nicht welche es sein muss) ausführbar sein. Geht das?
Ich bedanke mich jetzt schon für eine rasche Antwort. Bei evt. Rückfragen stehe ich gerne zur Verfügung.
Danke.
lg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 92523
Url: https://administrator.de/contentid/92523
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo newbie89 und willkommen im Forum!
Als VBScript etwa so:
Du solltest vielleicht einmal nur mit 2 Dateien (Kopien) in einem Ordner testen ...
Noch eine Anmerkung: Es wird die beim Öffnen der jeweiligen Exceldatei aktuelle Tabelle bearbeitet.
Grüße
bastla
Als VBScript etwa so:
Ordner = "D:\X"
AbZeile = 3 'Einträge ab dieser Zeile suchen
Spalte = "Y"
Wert = 40 'Grenzwert für Formatierung
Set fso = CreateObject("Scripting.FileSystemObject")
Set oXL = CreateObject("Excel.Application")
Const xlCellValue = 1
Const xlGreater = 5
'Alle Dateien des angegebenen Ordners ...
For Each oExcelDatei In fso.GetFolder(Ordner).Files
'... erfassen, und, falls der Typ "xls" ist, bearbeiten
If LCase(fso.GetExtensionName(oExcelDatei.Name)) = "xls" Then
'Datei öffnen
oXL.Workbooks.Open oExcelDatei.Path
Zeile = AbZeile
'Solange die vorgegebene Spalte Einträge enthält
Do While oXL.Cells(Zeile, Spalte).Value <> ""
'Rechte Nachbarzelle ...
With oXL.Cells(Zeile, Spalte).Offset(0, 1)
'... mit Zahlenwert ohne " l" füllen ...
.Value = CDbl(Replace(oXL.Cells(Zeile, Spalte).Value, " l", ""))
'... und Bedingte Formatierung erstellen
.FormatConditions.Add xlCellValue, xlGreater, Wert
With .FormatConditions(1).Font
.Bold = True
.ColorIndex = 3 'Rot
End With
End With
Zeile = Zeile + 1
Loop
'Datei schließen und speichern
oXL.ActiveWorkbook.Close True
End If
Next
oXL.Application.Quit
Noch eine Anmerkung: Es wird die beim Öffnen der jeweiligen Exceldatei aktuelle Tabelle bearbeitet.
Grüße
bastla
Hallo newbie89!
Es wird eine "Bedingte Formatierung" verwendet - schau doch einmal für die betreffenden Zellen nach ("Format / Bedingte Formatierung..."), ob Dir etwas auffällt.
Grüße
bastla
Aber gibt es eine Möglichkeit diesen Fehler auszubessern oder wieso ist das passiert?
Wahrscheinlich; keine Ahnung.Es wird eine "Bedingte Formatierung" verwendet - schau doch einmal für die betreffenden Zellen nach ("Format / Bedingte Formatierung..."), ob Dir etwas auffällt.
Grüße
bastla