Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel-Zelle wird per VBA gefüllt = #Wert!

Forumthread: Excel-Zelle wird per VBA gefüllt = #Wert!

Excel-Zelle wird per VBA gefüllt = #Wert!
29.05.2019 09:09:47
Achim
Guten Morgen,
ich habe in Excel eine Liste mit Projekten und einer Spalte "Quality Check", die ich mit VBA fülle:
- In einer Schleife gehe ich zeilenweise durch die Tabelle und vergleiche die Daten jedes Projektes, um hinweiswürdige Fehler zu erkennen.
- Zu jedem Hinweis schreibe ich einen Kommentar in die Spalte "Quality Check".
- Da es zu einem Projekt mehrere (beliebig viele) Hinweise geben kann, geschieht dies zeilenweise (Zeichen 10).
- Das siezt dann so aus:

'[1GM01] No FDD in Gate 3
[2GM01] Milestone 'Mech. Compl. FC' not filled
[2GM02] Milestone 'Techn. Compl. FC' not filled
[2GM03] Milestone 'All Invoices received FC' not filled
[3FF01] Forecast not filled

Wenn das Skript fertig ist und ich dann die Spalte Quality Check betrachte, finde ich in einzelnen Zellen den Fehlerwert #Wert!
Das Zellenlimit von 32.000 Zeichen spielt hier keine Rolle.
Hat jemand eine Idee, bitte?
Gruß,
Achim
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zeig doch mal das makro
29.05.2019 09:15:03
UweD
AW: Zeig doch mal das makro
29.05.2019 09:55:38
Achim
Hier ein Auszug aus dem Makro mit nur einem Hinweis. Davor und danach gibt es weitere Meldungen.

Private Sub CommandButton1_Click()
Dim wks1, wks2, wks3 As Worksheet
Dim toFind As String
Dim found As Range
Dim LastRow As Long
Set wks1 = Worksheets("Project List")
Set wks2 = Worksheets("Forecast")
Set wks3 = Worksheets("CapPlan")
'Für mehr Speed auf manuelle Berechnung stellen und ScreenUpdate abschalten
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
'*** Wo ist die Projektliste zu Ende? ***
LastRow = wks1.Range("B65536").End(xlUp).Row 'Unterste Zeile feststellen
'wo ist die Spalte 'Quality Check'?
iCol_QC = Application.Match("Quality Check", wks1.Rows(4), 0)
For I = 5 To LastRow
'No FDD in Gate 3   *** BEISPIEL EINER MELDUNG ***
If wks1.Cells(I, Application.Match("Item Status", wks1.Rows(4), 0)) >= "b. Plan" _
And wks1.Cells(I, Application.Match("Item Status", wks1.Rows(4), 0)) 

Anzeige
AW: Zeig doch mal das makro
29.05.2019 10:33:00
UweD
Hallo
wenn #Wert! in der Zelle steht, dann wird die Eingabe als Formel erfolgen, die dann zu einem Fehler führt.
Du zeigst in dem Beispiel, dass du mit ' (Umschalten #) beginnst.
Das wäre ja auch korrekt, dann wird Alles danach als Text interpretiert.
Die Stelle, wo das ' setzt, finde ich im Makro aber nicht.
so evtl.....

wks1.Cells(I, iCol_QC) ="'"
For I = 5 To LastRow
'No FDD in Gate 3   *** BEISPIEL EINER MELDUNG ***
If wks1.Cells(I, Application.Match("Item Status", wks1.Rows(4), 0)) >= "b. Plan" _
And wks1.Cells(I, Application.Match("Item Status", wks1.Rows(4), 0)) 

Anzeige
AW: Zeig doch mal das makro
29.05.2019 13:49:47
Achim
Hi Uwe,
das Hochkomma kommt aus einer SAP-BW-Query. Wie & warum kann ich nicht erklären ...
Ich konnte nun das Problem weiter einkreisen:
- Nicht die Schleife ist die Ursache meines Problems.
- Ich habe bisher die Zelle mit einem Zeilenumbruch (Zeichen 10) begonnen ...
- ... und am Ende des Skripts in einer weiteren Schleife den ersten Zeilenumbruch wieder rausgelöscht
'Aufräumen: erste Leerzeile in QC-Feldern löschen
For i2 = 5 To LastRow
'wks1.Cells(i2, iCol_QC) = Application.Substitute(wks1.Cells(i2, iCol_QC), Chr(10), "", 1)
Next i2
- Genau HIERBEI ist der Fehlerwert #Wert! bei ca. 1% der Projekte entstanden
- Ich kann nicht sagen warum
- Ich verzichte nun auf den führenden Zeilenumbruch und hänge ihn an jede einzelne Meldung hinten an.
- Somit spare ich mir die auffällig gewordene Funktion 'Application.Substitute'
Vielen Dank, das Thema ist erledigt :-)
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige