Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1136to1140
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

Formatierung über Makro oder VBA möglich? | Herbers Excel-Forum

Formatierung über Makro oder VBA möglich?
09.02.2010 08:28:52
Warn

Guten Morgen zusammen,
ich bekomme Daten immer in einem Format wie in der Beispiel Datei zu sehen ist, in diesem Format ist eine weitere Verarbeitung allerdings nicht möglich. Da es in der Regel immer die gleichen Schritte sind die ich durchführen muss bevor ich mit den Dateien arbeiten kann habe ich mich gefragt ob die Umformatierungen nicht automatisiert erfolgen können.
https://www.herber.de/bbs/user/67841.xls
Die Schritte sind folgende:
1. Ausschneiden der Zellen ab Zeile 39 dies gilt jedoch nur in dieser Beispieldatei und kann in der Realität
abweichen, als Erkennungsmerkmal könnte evtl. dienen das der auszuschneidende Bereich immer mit
einer verbundenen Zelle beginnt und nicht mehr als 40 Zeilen umfasst. Die ausgeschnittenen Zellen
sollten dann in das Arbeitsblatt "Sheet1" eingefügt werden.
2. Die verbliebene Tabelle sollte nach der Spalte "KundenNr" sortiert werden. Die teilweise nicht gefüllten
Felder der Spalte "KundenNr" sollten automatisch mit den Werten aus der Spalte "KundenNr intern" gefüllt werden.
3. Der Aufbau der Spalten ist bis zur Spalte "Ort" immer identisch erst ab Spalte "var1" können die
Spaltenbezeichnungen unterschiedlich werden. In allen gelb markierten Spalten ist nicht jede Zelle
zwingend gefüllt, daher sollten für die weitere Verarbeitung die leeren Zellen mit einem Platzhalter
gefüllt werden z.B. "XX"
Ist so etwas überhaupt machbar oder erwarte ich da zuviel von Excel?
Vielen Dank schonmal für eure Antworten
Gruß
Michael

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung über Makro oder VBA möglich?
09.02.2010 10:39:12
Ramses
Hallo
Datei öffnen
Extras - Makro - Makro aufzeichnen
Aussagekräftigen Namen vergeben
Speichern in "Persönlicher Arbeitsmappe"
Deine Schritte 1 - 3 in der Mappe vornehmen
Aufzeichnung beenden
Fertig
Künftig kannst du das makro nach dem öffnen der Datei einfach über
Extras - makro - Makro ausführen
starten
Gruss Rainer
AW: Formatierung über Makro oder VBA möglich?
09.02.2010 12:23:45
Warn
Hallo Rainer,
ich habe es mal mit dem Makro aufzeichnen probiert es hat auch weitesgehend geklappt, was jedoch nicht funktioniert hat war der Schritt 1. genauso gab es Probleme durch unterschiedliche Tabellenlängen wenn ich das Makro bei einer Tabelle mit 100 Zeilen aufzeichne dann überarbeitet es mir bei einer Tabelle mit 200 Zeilen leider nur die ersten 100 wie kann ich das variabel gestalten das Excel den zu bearbeitenden Bereich in Abhängigkeit von der letzten gefüllten Zelle in Spalte B festlegt. Spalte B ist hier die Referenz weil sie immer gefüllt ist.
Gruß
Michael
Anzeige
AW: Formatierung über Makro oder VBA möglich?
09.02.2010 11:16:07
Eugen Wenderhold
hi und moin
Option Explicit
Public Sub re_format()
Dim i As Long, x As Long, xx As Long
Dim oWS1 As Worksheet, oWS2 As Worksheet
Application.ScreenUpdating = False
Set oWS1 = ActiveSheet
Set oWS2 = Sheets("Sheet1")
' searching cells
For i = 2 To 65536
If oWS1.Cells(i, 1).MergeCells Then Exit For
Next i
' cut off
oWS1.Range(oWS1.Rows(i), oWS1.Rows(i + 40)).Cut
oWS2.Activate
oWS2.Paste
oWS1.Activate
' sorting for column Kundennr
oWS1.Range(oWS1.Cells(2, 1), oWS1.Cells(i - 1, 19)).Sort _
Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
' replacing empty Kundennr with intern KdNr
For x = 2 To i - 1
If oWS1.Cells(x, 1).Value = "" Then oWS1.Cells(x, 1).Value = oWS1.Cells(x, 2).Value
Next x
For x = 7 To 19         ' all columns
For xx = 3 To i     ' all rows
If oWS1.Cells(xx, x).Value = "" And oWS1.Cells(xx, x).Interior.ColorIndex = 36 Then
oWS1.Cells(xx, x).Value = "XX"
End If
Next xx
Next x
Application.ScreenUpdating = True
End Sub

greeze
eugen
Anzeige
AW: Formatierung über Makro oder VBA möglich?
09.02.2010 12:34:12
Warn
Hallo Eugen,
vielen Dank das löst mein Problem bei Schritt 1 perfekt!!! Hast Du auch noch einen Tip wie ich das Problem der unterschiedlichen Zeilenzahl der Tabellen lösen kann?
Grüße
Michael
AW: Formatierung über Makro oder VBA möglich?
09.02.2010 13:10:21
Eugen Wenderhold
hi und moin
unterschiedliche Zeilenzahl ???????
versteh ich ned ganz, wo das problem sein soll?
greeze
eugen
eugen.wenderhold@esg.de

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige