Anzeige
Archiv - Navigation
712to716
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
712to716
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

If Not-Formel

If Not-Formel
23.12.2005 08:34:56
Ellen
Hallo,
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

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

Betreff
Datum
Anwender
Anzeige
Fehler gefunden
23.12.2005 08:59:49
Ellen
Hallo,
mein Problem könnt ihr vergessen, hab den Fehler selbst gefunden:

Sub go()
If Not Range("A13") Is Nothing Then
End Sub

ändern in:

Sub go()
If Not Range("A13") = "" Then
End Sub

So funktioniert's ;-)
Aber weshalb versteh ich nicht ganz.
Gruß,
Ellen
AW: Fehler gefunden
23.12.2005 13:27:01
Matthias
Hallo Ellen,
Aber weshalb versteh ich nicht ganz.
Weil ein Zellbereich selbst eben nie den Wert "Nothing" annehmen kann, sondern nur Objektvariablen, die nicht zugewiesen sind:

Dim rng As Range
If rng Is nothing Then MsgBox "1. Nothing!"
Set rng = Range("A1")
If rng Is nothing Then MsgBox "2. Nothing!"

Gruß Matthias
Anzeige
AW: Fehler gefunden
23.12.2005 13:29:25
Ellen
Danke Matthias, wieder was gelernt :-)
Gruß,
Ellen

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige