WinFuture-Forum.de: Excel, Eine Herausforderung Für Helfer. - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Software
Seite 1 von 1

Excel, Eine Herausforderung Für Helfer. Rechnung schreiben vereinfachen um tippfehler zu vermeiden.


#1 Mitglied ist offline   Speedyfree 

  • Gruppe: aktive Mitglieder
  • Beiträge: 752
  • Beigetreten: 14. Mai 04
  • Reputation: 0

geschrieben 29. Dezember 2005 - 02:20

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.Angehängte Datei  Rechnung_Vorlage.xls (52,5K)
Anzahl der Downloads: 118
0

Anzeige



#2 Mitglied ist offline   Speedyfree 

  • Gruppe: aktive Mitglieder
  • Beiträge: 752
  • Beigetreten: 14. Mai 04
  • Reputation: 0

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.


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

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0