Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1708to1712
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

Suchen, kopieren, speichern...

Suchen, kopieren, speichern...
20.08.2019 10:13:55
T.Weidner
Hallo Zusammen,
ich bekomme per Mail ein Excel Tabelle, diese wird aus der Mail heraus geöffnet.
Sie dient dem Import in SAP - nach dem speichern an einen bestimmten Ort.
Leider enthält die Tabelle eine String, der manchmal in Spalte A, beliebige Zeile, steht. Dieser gehört aber immer in Spalte B.
Also möchte ich ein kurze Makro drüberlaufen lassen, welches diesen Umstand korrigiert und das File dann direkt als csv. Datei an den bestimmten Ort speichert.
Folgenden Code habe ich, der funktioniert leider nur dann, wenn der Wert tatsächlich falsch in Spalte A steht. Steht der Wert richtig in Splate B, beschwert sich die Variable: Keine Objektvaribale definiert. Ich nehme mal an, weil sie dann ja keinen Wert erhält.
Allerdings finde ich die Lösung nicht... :-(
Sub LagerListe()
Dim Zeile As Long
Dim Eingabe As String
Eingabe = "Free Issue Mat"
Zeile = Columns("A:A").Find(What:=Eingabe, LookIn:= _
xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Row
MsgBox "Soll sein" & Zeile
If Zeile  0 Then
Range("A" & Zeile).Select
Selection.Cut
Range("B" & Zeile).Select
ActiveSheet.Paste
ActiveWorkbook.SaveAs ("S:\DYN - Lagerliste\CSV Wandlung\LagerListeEN_" & _
Format(Year(Date), "00") & Format(Month(Date), "00") & Day(Date) & _
".csv")
Else
ActiveWorkbook.SaveAs ("S:\Lagerliste\CSV Wandlung\LagerListeEN_" & _
Format(Year(Date), "00") & Format(Month(Date), "00") & Day(Date) & _
".csv")
End If
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen, kopieren, speichern...
20.08.2019 10:22:48
Werner
Hallo,
deklariere deine Variable Zeile nicht als Long sondern als Range. Diese Variable muss dann mit Set zugewiesen werden.
Dann kannst du mit If not Zeile is nothing Then den Fall abfangen, falls in Spalte A nichts gefunden wird.
Auf die entsprechende Zeile der "Fundstelle" kannst du dann mit Zeile.Row zugreifen.
Sub LagerListe()
Dim Zeile As Range, Eingabe As String
Eingabe = "Free Issue Mat"
Set Zeile = Columns("A:A").Find(What:=Eingabe, LookIn:=xlFormulas, LookAt:=xlPart)
If Not Zeile Is Nothing Then
MsgBox "Soll sein" & Zeile.Row
Range("A" & Zeile.Row).Cut
Range("B" & Zeile).Paste
ActiveWorkbook.SaveAs ("S:\DYN - Lagerliste\CSV Wandlung\LagerListeEN_" & _
Format(Year(Date), "00") & Format(Month(Date), "00") & Day(Date) & ".csv")
Else
ActiveWorkbook.SaveAs ("S:\Lagerliste\CSV Wandlung\LagerListeEN_" & _
Format(Year(Date), "00") & Format(Month(Date), "00") & Day(Date) & ".csv")
End If
End Sub
Gruß Werner
Anzeige
AW: Suchen, kopieren, speichern...
20.08.2019 10:46:10
T.Weidner
Vielen lieben Dank erstmal.
Leider funktioniert der Code nicht ganz. Die Reduzierung wie folgt erzeugt Fehler:
Range("A" & Zeile.Row).Cut
Range("B" & Zeile).Paste
Ich dachte erst, es liegt am vergessenen Row in der zweiten Zeile. Lag es aber nicht.
Ich hab die alten Zeilen mit der Ergänzugn Row wieder eingefügt und es funktioniert.
    Range("A" & Zeile.Row).Select
Selection.Cut
Range("B" & Zeile.Row).Select
ActiveSheet.Paste
vollständiger Code:

Sub LagerListe()
Dim Zeile As Range, Eingabe As String
Eingabe = "Free Issue Mat"
Set Zeile = Columns("A:A").Find(What:=Eingabe, LookIn:=xlFormulas, LookAt:=xlPart)
If Not Zeile Is Nothing Then
MsgBox "Soll sein" & Zeile.Row
Range("A" & Zeile.Row).Select
Selection.Cut
Range("B" & Zeile.Row).Select
ActiveSheet.Paste
ActiveWorkbook.SaveAs ("S:\DYN - Lagerliste\CSV Wandlung\LagerListeEN_" & _
Format(Year(Date), "00") & Format(Month(Date), "00") & Day(Date) & ".csv")
Else
ActiveWorkbook.SaveAs ("S:\DYN - Lagerliste\CSV Wandlung\LagerListeEN_" & _
Format(Year(Date), "00") & Format(Month(Date), "00") & Day(Date) & ".csv")
End If
End Sub
Vielen Dank für die rasche Hilfe :-)
und einen schönen Tag noch.
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
20.08.2019 13:50:56
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige