If Not-Formel
23.12.2005 08:34:56
Ellen
ich habe ein Problem mit einer If Not-Formel, und zwar möchte ich:
Wenn in Tab SHIPMENT ADMIN NAT (Tabelle wird manuell ausgefüllt) 1 Datensatz ist -> 1 Box Address Label (wie es in Tab Box Address Label bereits ist)
Wenn in Tab SHIPMENT ADMIN NAT 2 Datensätze -> 1. Box Address Label kopieren nach Zeile 62 und Box Number sowie Made in entsprechend ändern.
Wenn 3 Datensätze -> kopieren, ändern
Wenn 4 Datensätze -> kopieren, ändern
....
Ich habe das Makro für 4 Datensätze geschrieben und zwar, dass wenn A11 nicht leer ist, dann mache kopieren, ändern...
Wenn A12 nicht leer ist, dann mache kopieren, ändern....
Wenn A13 nicht leer ist, dann mache kopieren, ändern....
Aber ich habe das Problem, dass das Box Address Label immer kopiert wird, auch wenn A12 und A13 leer sind macht er das. Er ergänzt die Box Nummer nicht, das ist dann ja richtig, aber wieso kopiert er das Label trotzdem immer 4x nach unten?
Am besten hier ansehen:
https://www.herber.de/bbs/user/29510.xls
Code folgendermaßen:
Sub go()
'delete old data
Sheets("Box Address Label").Select
Rows("27:1000").Delete
' If 2 Boxes -> 2nd Box Address Label
Sheets("SHIPMENT ADMIN NAT").Select
If Not Range("A11") Is Nothing Then
Sheets("Box Address Label").Select
Rows("2:24").Copy
Rows("62:62").Select
ActiveSheet.Paste
Worksheets("Box Address Label").Cells(63, 5).Value = Worksheets("SHIPMENT ADMIN NAT").Cells(11, 2).Value
Worksheets("Box Address Label").Cells(68, 6).Value = Worksheets("SHIPMENT ADMIN NAT").Cells(11, 6).Value
End If
' If 3 Boxes -> 3rd Box Address Label
Sheets("SHIPMENT ADMIN NAT").Select
If Not Range("A12") Is Nothing Then
Sheets("Box Address Label").Select
Rows("2:24").Copy
Rows("122:122").Select
ActiveSheet.Paste
Worksheets("Box Address Label").Cells(123, 5).Value = Worksheets("SHIPMENT ADMIN NAT").Cells(12, 2).Value
Worksheets("Box Address Label").Cells(128, 6).Value = Worksheets("SHIPMENT ADMIN NAT").Cells(12, 6).Value
End If
' If 4 Boxes -> 4th Box Address Label
Sheets("SHIPMENT ADMIN NAT").Select
If Not Range("A13") Is Nothing Then
Sheets("Box Address Label").Select
Rows("2:24").Copy
Rows("182:182").Select
ActiveSheet.Paste
Worksheets("Box Address Label").Cells(183, 5).Value = Worksheets("SHIPMENT ADMIN NAT").Cells(13, 2).Value
Worksheets("Box Address Label").Cells(188, 6).Value = Worksheets("SHIPMENT ADMIN NAT").Cells(13, 6).Value
End If
Range("A1").Select
Application.CutCopyMode = False
End Sub