Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
644to648
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
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Brauche Hilfe bei einem einfachen VBA-Makro

Brauche Hilfe bei einem einfachen VBA-Makro
29.07.2005 16:34:13
Matthias
Hallo zusammen,
Ich habe folgende Frage:
Ich habe eine Formel zur Preisaktualisierung (=SVERWEIS(A393;$G$5:$H$60000;2;FALSCH)). Wenn der Preis erfolgreich aktualisiert wurde, gibt sie ihn in ihrer eigenen Zelle aus. Wenn es nicht geklappt hat, steht in der Formelzelle: #NV
Ist es möglich, nur die Zahlen, und nicht die #NV's mit VBA zu kopieren?
MfG Matthias Pöschl

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Brauche Hilfe bei einem einfachen VBA-Makro
29.07.2005 16:42:56
Erich
Hallo Matthias,
wenn es z. B. um die Zelle cells(2, 3) geht:
If Not IsError(Cells(2, 3)) Then Cells(2, 3).Copy               ' in die Zwischenablage
oder
If Not IsError(Cells(2, 3)) Then Cells(2, 3).Copy Cells(2, 10)  ' in eine andere Zelle

Grüße aus Kamp-Lintfort
Erich
AW: Brauche Hilfe bei einem einfachen VBA-Makro
29.07.2005 16:49:41
Matthias
Hallo Erich,
erstmal vielen Dank für deine schnelle Antwort.
Ist es auch möglich ganze Zell-Bereiche zu Prüfen und zu kopieren?
z.B. Bereich A1:A2000 und das Ergebniss dann in B1 ?
MfG Matthias Pöschl
AW: Brauche Hilfe bei einem einfachen VBA-Makro
29.07.2005 17:08:44
Erich
Hallo Matthias,
soweit ich weiß, gibt es da keine Möglichkeit. IsError() prüft einen Ausdruck, der eine Zahl, eine Zeichenfolge oder ein Objekt zurück gibt. Wenn du z. B. IsError([A1]&[A2]) prüfen würdest, wüsstest du nicht, welche der beiden Zellen einen Fehlerwert enthält.
Vorschlag:
Zunächst alles kopieren, dann im Zielbereich in Zeilen- und Spaltenschleife alle Zellen einzeln prüfen und mit ClearContents die Fehlerwerte löschen.
Grüße aus Kamp-Lintfort
Erich
Anzeige
AW: Brauche Hilfe bei einem einfachen VBA-Makro
30.07.2005 00:23:45
Erich
Hallo Matthias,
mittlerweile weiß ich ein wenig mehr - es gibt doch eine Möglichkeit, ganze Zellbereiche zu kopieren, ohne dabei Fehlerwerte mitzunehmen:
Option Explicit
Sub copy_ohne_Errors()
Dim tt, rg As Range, ii&
Range("a1:a8").Copy Range("b1")   ' normale Kopie, nur so, zm Vergleichen
For Each tt In Array(xlCellTypeConstants, xlCellTypeFormulas)
On Error Resume Next
Set rg = _
Range("a1:a8").SpecialCells(tt, xlNumbers + xlTextValues + xlLogical)
On Error GoTo 0
If Err = 0 Then
For ii = 1 To rg.Areas.Count
rg.Areas(ii).Copy Cells(rg.Areas(ii).Rows(1).Row, 3)
Next ii
Else
Err = 0
End If
Next tt
End Sub
Wenn es gebraucht wird, ermöglicht die SpecialCells-Methode es sogar, etwa nur numerische Werte oder nur Zeichenketten zu übertragen, oder, sich auf Konstanten oder Formeln zu beschränken. (Konstanten und Formeln werden mit der Schleife erledigt)
Grüße aus Kamp-Lintfort
Erich
Anzeige
AW: Brauche Hilfe bei einem einfachen VBA-Makro
30.07.2005 00:47:40
Erich
Hallo Matthias,
es geht auch kürzer (etwas iin Richtung meines allerersten Vorschlags, alles zu kopieren und dann die Fehlerwerte zu löschen):
Sub copy_ohne_Errors1() ' vgl. https://www.herber.de/mailing/101500h.htm
Range("a1:a8").Copy Range("b1")  ' zunächst alles kopieren,
On Error Resume Next             ' danach Fehlerwerte löschen
Range("b1:b8").SpecialCells(xlCellTypeConstants, xlErrors) = ""
Range("b1:b8").SpecialCells(xlCellTypeFormulas, xlErrors) = ""
On Error GoTo 0
Err = 0
End Sub
Grüße aus Kamp-Lintfort
Erich
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige