Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1728to1732
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
Inhaltsverzeichnis

Wert von String Variable in Zelle schreiben in einer Schleife

Wert von String Variable in Zelle schreiben in einer Schleife
23.12.2019 17:02:54
String
Hallo zusammen, ich habe mir über eine for-Schleife die unique-Werte der Spalte "Kategorie" in Abhängigkeit zur Spalte "Monat, Jahr" ausgeben lassen mit dem AdvancedFilter und der Copy-Aktion. Was hierbei etwas stört ist, dass die Überschriften der Spalte Kategorie mitgefiltert wurden. Klar das kann ich einfach löschen in einer Schleife, aber vielleicht gibt es bei dem Advanced-Filter beim FilterCopy eine Eigenschaft, mit der ich das festlegen kann? Meine Tabelle sieht, wie folgt aus:
Spalte A Spalte B
Month & Year Category
1, 2019 Category
A
B
C
2, 2019 Category
A
B
C
D
etc. für die weiteren Monate
In einer weiteren Schleife will ich nun für alle leeren Zellen in Spalte A den jeweiligen Wert von Month & Year hineinschreiben. Ich zeige hierzu am besten meinen bisherigen Code. Das Übertragen klappt soweit auch, nur dass das Komma verschwindet. Das heißt statt 1, 2019 steht: 12019
Der Code:
Dim moYe As String
lastrowOutput = ThisWorkbook.Worksheets("Output1").Cells(Rows.Count, 2).End(xlUp).row
'ThisWorkbook.Worksheets("Output1").Columns(1).NumberFormat = "General"
With ThisWorkbook.Worksheets("Output1")
For i = 2 To lastrowOutput
If ThisWorkbook.Worksheets("Output1").range("A" & i).Value "" Then
moYe = ThisWorkbook.Worksheets("Output1").range("A" & i).Value
MsgBox moYe
End If
If ThisWorkbook.Worksheets("Output1").range("A" & i).Value = "" Then
'ThisWorkbook.Worksheets("Output1").range("A" & i).Value = moYe
ThisWorkbook.Worksheets("Output1").Cells(i, 1).Value = moYe
ThisWorkbook.Worksheets("Output1").Cells(i, 1).NumberFormat = "General"
'ThisWorkbook.Worksheets("Output1").range("A" & i).NumberFormat = "General"
End If
Next i
End With
Es sei hierzu gesagt, dass bei der Ausgabe der String-Variable moYe in der MsgBox das Komma enthalten ist. Ich wollte ausßerdem vor dem Kopieren des Variablenwerts moYe in die jeweiligen Zellen auf Standard umstellen, aber das war dann als Number eingestellt. Falls das von Relevanz ist. Vor Ausführung des Codes ist das Format der Spalte "Month & Year" in den leeren Zellen Number. Dort wo die Werte mit Komma drin stehen, ist das Format Standard. Ich hoffe, ich habe niemanden zu sehr verwirrt und dass mir jemand behilflich sein kann. Vielen Dank im Voraus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert von String Variable in Zelle schreiben in einer Schleife
23.12.2019 19:07:59
String
Hi Tobias
Versuch mal...
moYe = ThisWorkbook.Worksheets("Output1").range("A" & i).Text
Solange alles Text ist, wäre das Nummernformat Text angebracht. Einmalig auf den ganzen Tabellenbereich angewendet (anstatt innerhalb der Schleife) sollte reichen.
Langfrist lebst du aber evtl. sorgenfreier, wenn du aus dem Text gleich ein echtes Datum machst. Formatiert als "M, YYYY".
cu
Chris
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige