Supportnet / Forum / Datenbanken
Berichtsdaten transponieren
Frage
Hallo Leute!
Ich möchte aus einem Bericht in Access (Ausgabe waagrecht, 2. Spalte darunter) eine Tabelle im Excel (Ausgabe senkrecht, 2. Spalte daneben) erzeugen. In der Onlinehilfe konnte ich nichts finden. Da der Bericht ca. 15 -20 mal die Woche abgefragt werden soll möcht ich mir ein händisches transponieren in Excel ersparen. Wer kann mir sagen wie ich das anstellen kann??
Danke
Antwort 1 von piano
Hallo
Diese Funktion transponiert eine Tabelle von "Tabelle1" nach "Tabelle1". Innerhalb von
Du musst nur noch den Verweis auf die Excel-Library einrichten.
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
Diese Funktion transponiert eine Tabelle von "Tabelle1" nach "Tabelle1". Innerhalb von
Zitat:
With tabelle.Application
und With tabelle.Application
Zitat:
End With
kannst du Excel-Statements anwenden.End With
Function TestTrans()
Dim ExcelDatei As String
Dim ExcelName As String
Dim ExcelPfad As String
Dim tabelle As Object
ExcelPfad = "D:"
ExcelName = "Mappe1.xls"
ExcelDatei = ExcelPfad & ExcelName
If Not FileExist(ExcelDatei) Then
DisplayMessage ("Excel-Datei nicht vorhanden !")
Exit Function
End If
Set tabelle = CreateObject("Excel.sheet")
With tabelle.Application
.workbooks.Open FileName:=ExcelDatei
.Visible = False
.ScreenUpdating = False
.Sheets("Tabelle1").Select
.Range("A1:B2").Select
.Selection.Copy
.Sheets("Tabelle2").Select
.Range("A1:B2").Select
.Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
´ beliebige Excel-Commands hinter dem Punkt
.ScreenUpdating = True
.Save
.Quit
End With
End Function
Function FileExist(dateiname$) As Boolean
´Die Funktion prüft, ob eine Datei vorhanden ist
On Error GoTo fehler:
FileExist = Dir$(dateiname) <> ""
Exit Function
fehler:
FileExist = False
Resume Next
End Function
Du musst nur noch den Verweis auf die Excel-Library einrichten.
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von blasi13
Hallo piano!
Danke für deine Antwort. Habe aber noch ein paar Fragen dazu:
1) Wo muß ich die Variablen des Berichtes (z.B.: "Max Anzahl von X" oder "Summe von Y") einsetzen?
2) Wo wird die Funktion eingebaut? Im Bericht oder in der Abfrage aus der der Bericht generiert wird?
Wäre echt super wenn du auch darauf noch eine Antwort hättest :)
Danke
blasi13
Danke für deine Antwort. Habe aber noch ein paar Fragen dazu:
1) Wo muß ich die Variablen des Berichtes (z.B.: "Max Anzahl von X" oder "Summe von Y") einsetzen?
2) Wo wird die Funktion eingebaut? Im Bericht oder in der Abfrage aus der der Bericht generiert wird?
Wäre echt super wenn du auch darauf noch eine Antwort hättest :)
Danke
blasi13
Antwort 3 von piano
Hallo
Deine Frage war doch,
Meine Funktion bearbeitet das fertige Excel-sheet.
Wie kommst du überhaupt dahin? mit Bericht anzeigen und Exportieren als Excel-Datei?.
Wenn ja, dann solltest du ein Formular mit einer Befehlsschaltfläche anbieten, die nur diese Funktion aufruft.
Besser wäre natürlich, alle Tätigkeiten wie Abfrage, Berichtsaufruf Export und Transponieren in einem Formular VBA-gesteuert zu erledigen. Das übersteigt jedoch wahrscheinlich deine Möglichkeiten und auch meine zeitlichen Ressourcen, und du wirst es wohl kaum ohne Einwurf von ein paar Munzen gelöst bekommen.
Gruss piano
Deine Frage war doch,
Zitat:
wie transponieren?
.wie transponieren?
Meine Funktion bearbeitet das fertige Excel-sheet.
Wie kommst du überhaupt dahin? mit Bericht anzeigen und Exportieren als Excel-Datei?.
Wenn ja, dann solltest du ein Formular mit einer Befehlsschaltfläche anbieten, die nur diese Funktion aufruft.
Besser wäre natürlich, alle Tätigkeiten wie Abfrage, Berichtsaufruf Export und Transponieren in einem Formular VBA-gesteuert zu erledigen. Das übersteigt jedoch wahrscheinlich deine Möglichkeiten und auch meine zeitlichen Ressourcen, und du wirst es wohl kaum ohne Einwurf von ein paar Munzen gelöst bekommen.
Gruss piano

