Anzeige
Archiv - Navigation
440to444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
440to444
440to444
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife

Schleife
21.06.2004 10:16:40
Regina
Hallo
Ich habe eine Vorlage für Bestellungen definiert. Der Benutzer kann in den Zellen A8 bis A20 eintragen, welche Menge er von welchem Artikel bestellen will. Beim Ausdrucken der Bestellungen wird im Hintergrund bestellung.xls geöffnet und die bestellten Artikel werden dort eingetragen. Im Makro habe ich 13 If-Abfragen eingebaut (siehe unten). Gibt es keinen besseren Weg, diese Aufgabe zu lösen? Danke fürs Feedback
Regina
Workbooks.Open Filename:="l:\bestellung.xls"
If Workbooks("1").Sheets("1").Range("A8").Value "" Then
Range("a65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Value = Workbooks("1").Sheets("1").Range("A8")
ActiveCell.Offset(0, 1).Value = Workbooks("1").Sheets("1").Range("B8")
ActiveCell.Offset(0, 2).Value = Workbooks("1").Sheets("1").Range("C8")
ActiveCell.Offset(0, 3).Value = Workbooks("1").Sheets("1").Range("D8")
End If
If Workbooks("1").Sheets("1").Range("A9").Value "" Then
Range("a65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Value = Workbooks("1").Sheets("1").Range("A9")
ActiveCell.Offset(0, 1).Value = Workbooks("1").Sheets("1").Range("B9")
ActiveCell.Offset(0, 2).Value = Workbooks("1").Sheets("1").Range("C9")
ActiveCell.Offset(0, 3).Value = Workbooks("1").Sheets("1").Range("D9")
End If
usw.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife
Josef
Hallo Regina!
Ungetestet, aber es sollte funktionieren.

Sub regina()
Dim wks As Worksheet
Dim lngE As Long
Dim intRow As Integer
Dim intC As Integer
Set wks = Workbooks("1").Sheets("1")
Workbooks.Open Filename:="l:\bestellung.xls"
lngE = Range("a65536").End(xlUp).Row + 1
For intRow = 8 To 20
If wks.Cells(intRow, 1) <> "" Then
For intC = 1 To 4
Cells(lngE, intC) = wks.Cells(intRow, intC)
lngE = lngE + 1
End If
Next
Next
End Sub

Gruß Sepp
Achtung Fehler!
Josef
Hallo Regina!
Da hat sich ein Fehler eingeschlichen.

Sub regina()
Dim wks As Worksheet
Dim lngE As Long
Dim intRow As Integer
Dim intC As Integer
Set wks = Workbooks("1").Sheets("1")
Workbooks.Open Filename:="l:\bestellung.xls"
lngE = Range("a65536").End(xlUp).Row + 1
For intRow = 8 To 20
If wks.Cells(intRow, 1) <> "" Then
For intC = 1 To 4
Cells(lngE, intC) = wks.Cells(intRow, intC)
Next
lngE = lngE + 1
End If
Next
End Sub

Jetzt sollte es passen!
Gruß Sepp
Anzeige
AW: Achtung Fehler!
21.06.2004 14:51:36
Regina
Hallo Sepp
Funktioniert perfekt. Ganz herzlichen Dank!
Regina

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige