if then else oder elseif
23.11.2018 13:55:57
Michael
wir bekomme von unserem Energien Lieferant monatlich eine Excel-Liste mit den Verbrauchsangaben für alle Energien, diese lese ich mittels Macro in unser Auswertunsgsprogramm Energien.xlsm und habe folgendes Problem beispielhaft dargestellt an einem Programmabschnitt
In der ersten Zeile des Sheet ("neue_Daten_IVH") also der Überschriftenzeile
Firma/BU/BL/Konto/Betrieb/Verrechnungsart/Gebäude für/Gebäude in/Energieart/ AbrNr/Jahr/Monat/Summe/Einheit/Ableser
suche ich den Teil "Abl eines Inhaltes, markiere die Spalte und kopiere sie im Sheet("neue_Daten_BME") in Spalte "G" soweit funktioniert alles.
Das Sheet("neue_Daten_IVH") erhalten wir wie schon erwähnt monatlich von unserem von unserem Lieferanten, es kommt immer mal wieder vor, das der Lieferanten Spalten hinzufügt, was noch kein Problem darstellt, wenn jedoch Spalte plötzlich fehlen, quittiert dies mein Makro natürlich mit einer Fehlermeldung.
Frage, wie müsste ich das ganze schreiben, das wenn mein Selection.Find keine Übereinstimmung findet, es mir in meinem Sheet("neue_Daten_BME") einfach in der Spalte "G" die Überschrifft "Ableser" einträgt und dann zum nächsten Programmschritt geht also keine Fehlermeldung erzeugt wird.
könnte da echt Hilfe gebrauchen
Sheets("neue_Daten_IVH").Select
Rows("1:1").Select
Selection.Find(What:="Abl", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).EntireColumn.Select
Selection.copy
Sheets("neue_Daten_BME").Select
Columns("G").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Gruß Michael