19.6k Aufrufe
Gefragt in WindowsXP von exceluser91 Mitglied (103 Punkte)
Hallo und feinen Nachmittag zusammen,

ich bin derzeit in der Arbeit als Werkstudent mit einem Project involviert.
Excel!

Um einen schnelleren Arbeitsfluss zu ermöglichen, sollten manche Vorgänge per Makros funktionieren..
Jetzt zu der Aufgabe und ich hoffe ihr könnt mir helfen sonst, bin ich verloren^^

1. Jedes Monat werden aus einer txt datei ( monatl. wird eine neue txt datei angelegt) die Daten in eine Excel-datei eingelesen.
kann man dafür ein Makro erstellen?


2. Die Lasche "Tabelle 1" sollte sich per Makro in "Reichweite" umändern lassen, ebenso sollte gleichzeitig dann eine neue Lasche mit Titel "Summe" zusätzlich hinzugefügt werden.

3, Per Makro: Aus der oben genannten txt (oder aus der fertig importierten) müssen dann, alle Zeilen ausgeschnitten, welche in der Spalte C "Summe" stehen haben und in das erstellte Tabellenblatt "Summe" eingefügt werden.

4. Per Makro würde ich dann gerne alle leeren Zeilen, sowie Zeilen
welche doppelt genannt werden löschen, außer in der ersten Zeile, Quasi eine Doppelnennung dieser Zeile vermeiden!

Test Inventur: Reichweiten-/Abwertsatzermittlung 02.10.2012 10:59:25 Seite: 2

das 5. und letzte Makro

a)Spalte einfügen in das erste Tabellenblatt mit dem Namen "Dispo_Name"
b) Spalte löschen WFG


Ob mir hier jmd helfen kann, das wäre der Knüller!
Leider habe ich erst ab kommenden März eine Excel spezifische Weiterbildung in meiner Uni.. und leisten kann ich Sie mir bis dato schwer!
Vielen vielen Dank im voraus und ich freue mich über jede produktive Antwort!

Viele Grüße
Ben

81 Antworten

0 Punkte
Beantwortet von
Könntest du mir bitte nochmal deine Email geben, wuerde es dir gerne nochmal schicken, leider komm ich in das Office login nicht mehr rein!
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Benjamin,

schau mal in deinen Pager.

Gruß

M.O.
0 Punkte
Beantwortet von
an den pager komm ich nicht mehr ran zurzeit
0 Punkte
Beantwortet von
könntest du dich eventuell per email an mich wenden, komme nicht mehr in den pager, Benutzerdaten anscheinend nicht gespeichert worden
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Benjamin,

ich werde mich bei dir per E-Mail melden.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.

ich habe dir eine Email mit Anhang gesendet

Gruß Benjamin
0 Punkte
Beantwortet von
er findet mir die Trennlinie nach Gesamtsumme nicht, das ist der Stand derzeit, kommt also ein Fehler 1004
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Benjamin,

ich werde mir das mal anschauen.

Gruß

M.O.
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Benjamin,

schau mal, ob das jetzt so klappt, wie du es dir vorstellst:

Sub kopieren_loeschen_neu7()

Dim anfang, ende, zeile, lzeile, szeile As Integer

'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False

'letzte Zeile im aktiven Arbeitsblatt "Reichweite" ermitteln
lzeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

'Anfang des zu kopierenden Bereichs suchen: zwei Zeilen untereinander mit ---
For zeile = 6 To lzeile
If Left(ActiveSheet.Cells(zeile, 1).Value, 1) = "-" And Left(ActiveSheet.Cells(zeile - 1, 1).Value, 1) = "-" Then
anfang = zeile + 1
Exit For
End If
Next zeile

For zeile = 6 To lzeile
'Gesamtsumme
If Left(ActiveSheet.Cells(zeile, 3).Value, 11) = "Gesamtsumme" Then
ende = zeile
Exit For
End If
Next zeile

For zeile = ende To lzeile
'Trennlinie nach Gesamtsumme suchen
If Left(ActiveSheet.Cells(zeile, 1).Value, 1) = "-" Then
ende = zeile
Exit For
End If
Next zeile


'gefundenen Bereich kopieren
ActiveSheet.Range(Cells(anfang, 1), Cells(ende, 1)).EntireRow.Copy Destination:=Worksheets("Summe").Cells(1, 1)

'Nun alle nicht benötigten Zeilen löschen
'Löschen von rückwärts
For zeile = lzeile To 6 Step -1
'alle Zeilen, die hinter Gesamtsumme stehen werden gelöscht
If zeile >= ende Then ActiveSheet.Rows(zeile).Delete

'Alle Zeilen mit Summe löschen
If Left(ActiveSheet.Cells(zeile, 3).Value, 5) = "Summe" Then ActiveSheet.Rows(zeile).EntireRow.Delete

'leere Zeilen löschen
With ActiveSheet.Range(Cells(zeile, 1), Cells(zeile, 19))
If Application.WorksheetFunction.CountBlank(.Cells) = .Cells.Count Then
Rows(zeile).EntireRow.Delete
End If
End With

'Zeilen, die mit - beginnen werden gelöscht
If Left(ActiveSheet.Cells(zeile, 1).Value, 1) = "-" Then ActiveSheet.Rows(zeile).EntireRow.Delete

'Zellen in denen in Spalte A keine Zahl steht werden gelöscht
If Not IsNumeric(ActiveSheet.Cells(zeile, 1)) Then ActiveSheet.Rows(zeile).EntireRow.Delete

'Zellen mit Leerzeichen in Spalte A werden gelöscht
If IsNumeric(ActiveSheet.Cells(zeile, 1)) And ActiveSheet.Cells(zeile, 1).Value = 0 Then ActiveSheet.Rows(zeile).EntireRow.Delete

Next zeile

'Spalte 2 mit WFG löschen
Sheets("Summe").Columns(2).Delete Shift:=xlToLeft

'Im Blatt Summe alle Zeilen löschen, die mit -, A, D oder S anfagen
For zeile = Worksheets("Summe").UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Left(Worksheets("Summe").Cells(zeile, 1).Value, 1) = "-" Then Worksheets("Summe").Rows(zeile).EntireRow.Delete
If Left(Worksheets("Summe").Cells(zeile, 1).Value, 1) = "A" Then Worksheets("Summe").Rows(zeile).EntireRow.Delete
If Left(Worksheets("Summe").Cells(zeile, 1).Value, 1) = "D" Then Worksheets("Summe").Rows(zeile).EntireRow.Delete
If Left(Worksheets("Summe").Cells(zeile, 1).Value, 1) = "S" Then Worksheets("Summe").Rows(zeile).EntireRow.Delete
'Zeilen löschen, in denen in Spalte I die Buchstaben AS stehen
If Left(Worksheets("Summe").Cells(zeile, 9).Value, 2) = "AS" Then Worksheets("Summe").Rows(zeile).EntireRow.Delete
'Zeilen löschen, die nach VD (in Spalte I) stehen
If Left(Worksheets("Summe").Cells(zeile, 9).Value, 2) = "VD" Then Worksheets("Summe").Range(Cells(zeile + 1, 1), Cells(Worksheets("Summe").UsedRange.SpecialCells(xlCellTypeLastCell).Row, 1)).EntireRow.Delete

Next zeile

'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.

Nach langer abstinenz habe ich jetzt wieder Zeit fuer dieses Thema, das letzte Makro funktioniert optimal.
ich würde nun gerne nach

dem Befehl "Sub kopieren_loeschen_neu7()"

in der Lasche Summe die relevanten Überschriften aus Lasche Reichweite kopieren, Sprich die Zeile welche mit Dis beginnt.
Funktioniert das, ich werde noch bis Ende dieser, Anfang naechster Woche im Betrieb sein, dann bin ich hier fertig, letztes Thema ist eben diese Excelbearbeitung

Viele Grüße
...