Hallo Leute,
ich hab hier ein Muster einer Rechnungstabelle.
Da man beim Schreiben einer Rechnung, ne ganze menge Zahlen Tippen muß und sich dadurch immer wieder fehler einschleichen, wollte ich mal Fragen ob ihr mir helfen würdet, diese Tabelle als Vorlage zu gestalten. Sozusagen mit möglichst wenig Tipparbeit.
Ich habe bei jeder Zelle bei der ich gerne etwas Automatisieren möchte, als Kommentar mit den dazugehörigen Änderungen/Wünschen, ausgestattet.
Wer stellt sich der Herausforderung?
Hoffe der eine oder andere hat Zeit und Lust mir dabei zu helfen.
Ich werde selbstverständlich auch nach besten wissen und gewissen mit Arbeiten.
Vielen Dank schon mal im voraus.
Rechnung_Vorlage.xls (52,5K)
Anzahl der Downloads: 118
Seite 1 von 1
Excel, Eine Herausforderung Für Helfer. Rechnung schreiben vereinfachen um tippfehler zu vermeiden.
Anzeige
#2
geschrieben 29. Dezember 2005 - 17:12
Hi,
habe im Netz nach "externe Daten auslesen" gesucht und etwas gefunden das aus einer Tabelle Daten ausliest und in eine Listbox kreiert, ohne bereichsnamen. Hab den Pfad zu testzwecken angepasst und Tataa es funzt.
Jetzt stellt sich die Frage ob man den Code so umstellen kann dass es die Daten mehrerer (über 160 externe Mappen) jeweils aus Tabelle1 Zellen A1 bis A43 und G1 bis G43 ausgelesen und anstatt in einer Listbox das ganze forlaufend in eine neue Tabelle in A1 bis ? und B1 bis ? ausgegeben werden?
Dabei ist zu berücksichtigen dass A1 bis A43 sechsstellige Artikel Nr.'n und Datum beinhalten. Das Datum muß hierbei herausgefiltert werden, so dass nur Artikel Nr.'n in die neu Tabelle übertragen werden. Bei G1 bis G43 sind Leer Zellen vorhanden. Diese müssen auch herausgefiltert werden, ansonsten wie gehabt.
Da ich den Quellcode nicht so richtig (bis gernicht) übersetzen kann, hoffe ich auf eure Hilfe. Oder gebt mir wenigstens ein Paar Tips wonach ich suchen kann um die obige Aufgabenstellung zu bewältigen.
habe im Netz nach "externe Daten auslesen" gesucht und etwas gefunden das aus einer Tabelle Daten ausliest und in eine Listbox kreiert, ohne bereichsnamen. Hab den Pfad zu testzwecken angepasst und Tataa es funzt.
Jetzt stellt sich die Frage ob man den Code so umstellen kann dass es die Daten mehrerer (über 160 externe Mappen) jeweils aus Tabelle1 Zellen A1 bis A43 und G1 bis G43 ausgelesen und anstatt in einer Listbox das ganze forlaufend in eine neue Tabelle in A1 bis ? und B1 bis ? ausgegeben werden?
Dabei ist zu berücksichtigen dass A1 bis A43 sechsstellige Artikel Nr.'n und Datum beinhalten. Das Datum muß hierbei herausgefiltert werden, so dass nur Artikel Nr.'n in die neu Tabelle übertragen werden. Bei G1 bis G43 sind Leer Zellen vorhanden. Diese müssen auch herausgefiltert werden, ansonsten wie gehabt.
Da ich den Quellcode nicht so richtig (bis gernicht) übersetzen kann, hoffe ich auf eure Hilfe. Oder gebt mir wenigstens ein Paar Tips wonach ich suchen kann um die obige Aufgabenstellung zu bewältigen.
Private Const Pfad = "D:\Eigene Dateien\müll\Rechnung Frankfurt\Rechnung_Vorlage.xls" Private Const Tabelle = "Tabelle2$" Private oConn As Object Private oRs As Object Private Sub ListBox1_Click() End Sub Private Sub UserForm_Activate() If Dir(Pfad) = "" Then HappyOrBadEnd 8, "Die Datei " & Pfad & " existiert nicht." Exit Sub End If On Error Resume Next Set oConn = CreateObject("ADODB.Connection") If Err.Number > 0 Then rc = HappyOrBadEnd(Err.Number, Err.Description) If rc > 0 Then Exit Sub Err.Clear conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Excel 8.0;DATABASE=" & Pfad oConn.Open conStr If Err.Number > 0 Then rc = HappyOrBadEnd(Err.Number, Err.Description) If rc > 0 Then Exit Sub Err.Clear Set oRs = oConn.Execute("SELECT * FROM A18:A43 ") If Err.Number > 0 Then rc = HappyOrBadEnd(Err.Number, Err.Description) If rc > 0 Then Exit Sub Err.Clear x = oRs.GetRows If Err.Number > 0 Then rc = HappyOrBadEnd(Err.Number, Err.Description) If rc > 0 Then Exit Sub On Error Resume Next ReDim y(UBound(x, 2), UBound(x, 1)) For i = 0 To (UBound(y, 1)) For j = 0 To (UBound(y, 2)) y(i, j) = x(j, i) Next j Next i ListBox1.ColumnCount = -1 ListBox1.List = y() HappyOrBadEnd 0, "" End Sub Private Function HappyOrBadEnd(rc As Long, fehler As String) As Long On Error Resume Next oRs.Close oConn.Close On Error GoTo 0 Set oRs = Nothing Set oConn = Nothing If rc > 0 Then Unload Me MsgBox fehler, vbExclamation End If HappyOrBadEnd = rc End Function
Dieser Beitrag wurde von Speedyfree bearbeitet: 29. Dezember 2005 - 17:13
Thema verteilen:
Seite 1 von 1