18.02.2019, 10:52
Hallo,
ich kann etwas Hilfe bei VBA gebrauchen :19:
Derzeit importiere ich -aus einer stets gleich formatierten aber jedes mal mit einer anderen Anzahl an Zeilen- Daten aus einer Ausschreibungsdatei in meine Kalkulation. Dies funktioniert auch bisher super und deshalb habe ich versucht den Code für den Import umzustricken für den Export (mit mäßigerm erfolg, da die Anforderung komplexer). Hier der Code, die Anforderung weiter unten.
Nachdem nun die Kalkulation mit Daten gefüllt wurde möchte ich die Preise wiederum exportieren in die Datei aus welcher die Grunddaten kamen. Beim Import habe ich mir die OZ (Ordnungszahlen) in die Kalkulation geholt. Bei Übereinstimmung dieser OZs sollen im Falle, dass in der jeweiligen Zeile in der Spalte C (GAEB-Ausschreibung) entweder "E - Bedarfspos. o. GB" oder "P - Pauschalposition" steht der Wert von AX aus der Kalkulation in die jeweilige Zeile in Spalte I (GAEB-Ausschreibung) übertragen werden ansonsten -wenn keines dieser Bedingungen passt- der Wert aus AW.
Mein erster Versuch dies zu lösen bestand darin, den Code für den Import der Daten einfach auch auf den Export anzupassen zzgl. einer Vergleichsfunktion Spalte für Spalte. Aber genau daran scheitert es. Ich schaffe es nicht eben die Zeilen der beiden Tabelle über die Ordnungszahl zu vergleichen und anschließend noch zu überprüfen ob es sich um eine "E - Bedarfspos. o. GB" oder "P - Pauschalposition" handelt um anschließend die Folgezeile zu überprüfen bis die letzte Zeile aus der GAEB-Ausschreibung (also die Datei in welche exportiert wird) erreicht ist.
Kann mir evtl. von Euch jemand weiter helfen?
Hier die Tabellen
Kalkulation (in welchem zunächst aus der GAEB-Ausschreibung importiert wird und nun die Preise zu exportieren sind)
GAEB-Ausschreibung:
Vielen Dank im Voraus!
Gruß Gregy
ich kann etwas Hilfe bei VBA gebrauchen :19:
Derzeit importiere ich -aus einer stets gleich formatierten aber jedes mal mit einer anderen Anzahl an Zeilen- Daten aus einer Ausschreibungsdatei in meine Kalkulation. Dies funktioniert auch bisher super und deshalb habe ich versucht den Code für den Import umzustricken für den Export (mit mäßigerm erfolg, da die Anforderung komplexer). Hier der Code, die Anforderung weiter unten.
Code:
[color=#666666]Option Explicit
Dim Stamm_imp As String
Dim varFile_imp As Variant
Dim varName_imp As Variant
Dim Blatt_imp As String[/color]
[size=small][font=Menlo, Monaco, Consolas,]Public Sub gaeb_import()
Application.ScreenUpdating = False
Dim lstRow As Long
On Error GoTo Err
Stamm_imp = ActiveWorkbook.Name
varFile_imp = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", , "XLSx", " _
Auswahl", _
False)
If TypeName(varFile_imp) Like "Boolean" Then
MsgBox "Keine Datei gewählt!", vbInformation
Exit Sub
Else
varName_imp = Right$(varFile_imp, Len(varFile_imp) - InStrRev(varFile_imp, "\"))
Workbooks.Open varFile_imp
lstRow = Workbooks(varName_imp).Sheets("GAEB_Konverter_LV").Cells(Rows.Count, 4).End( _
xlUp).Row
Workbooks(varName_imp).Sheets("GAEB_Konverter_LV").Range("B2:B" & lstRow - 1).Copy
Workbooks(Stamm_imp).Sheets("Kalkulation").Range("C5").PasteSpecial xlPasteValues
Workbooks(varName_imp).Sheets("GAEB_Konverter_LV").Range("C2:C" & lstRow - 1).Copy
Workbooks(Stamm_imp).Sheets("Kalkulation").Range("D5").PasteSpecial xlPasteValues
Workbooks(varName_imp).Sheets("GAEB_Konverter_LV").Range("D2:F" & lstRow - 1).Copy
Workbooks(Stamm_imp).Sheets("Kalkulation").Range("E5").PasteSpecial xlPasteValues
Workbooks(varName_imp).Sheets("GAEB_Konverter_LV").Range("G2:G" & lstRow - 1).Copy
Workbooks(Stamm_imp).Sheets("Kalkulation").Range("AX5").PasteSpecial xlPasteValues
Workbooks(varName_imp).Close
Application.CutCopyMode = False
End If
Sheets("Kalkulation").Range("E5").Select
Exit Sub
Err:
Call MsgBox("Bitte überprüffen ob die Tabellen" _
& vbCrLf & "Nord und Süd vohanden sind 1" _
, vbExclamation, "Fehler")
End Sub[/font][/size]
Nachdem nun die Kalkulation mit Daten gefüllt wurde möchte ich die Preise wiederum exportieren in die Datei aus welcher die Grunddaten kamen. Beim Import habe ich mir die OZ (Ordnungszahlen) in die Kalkulation geholt. Bei Übereinstimmung dieser OZs sollen im Falle, dass in der jeweiligen Zeile in der Spalte C (GAEB-Ausschreibung) entweder "E - Bedarfspos. o. GB" oder "P - Pauschalposition" steht der Wert von AX aus der Kalkulation in die jeweilige Zeile in Spalte I (GAEB-Ausschreibung) übertragen werden ansonsten -wenn keines dieser Bedingungen passt- der Wert aus AW.
Mein erster Versuch dies zu lösen bestand darin, den Code für den Import der Daten einfach auch auf den Export anzupassen zzgl. einer Vergleichsfunktion Spalte für Spalte. Aber genau daran scheitert es. Ich schaffe es nicht eben die Zeilen der beiden Tabelle über die Ordnungszahl zu vergleichen und anschließend noch zu überprüfen ob es sich um eine "E - Bedarfspos. o. GB" oder "P - Pauschalposition" handelt um anschließend die Folgezeile zu überprüfen bis die letzte Zeile aus der GAEB-Ausschreibung (also die Datei in welche exportiert wird) erreicht ist.
Kann mir evtl. von Euch jemand weiter helfen?
Hier die Tabellen
Kalkulation (in welchem zunächst aus der GAEB-Ausschreibung importiert wird und nun die Preise zu exportieren sind)
GAEB-Ausschreibung:
Vielen Dank im Voraus!
Gruß Gregy