Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
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

VBA Code anpassen

VBA Code anpassen
07.04.2015 10:26:53
Jürgen
Hallo und guten Morgen,
könnte mir jemand bei folgendem Code behilflich sein.....
Sub a()
Dim i As Integer
Dim X As Range
Dim Y As Variant
Dim Z As Range
On Error GoTo ende
Set X = Tabelle1.Range("G4:G15").SpecialCells(xlCellTypeFormulas)
ReDim Y(1 To X.Count)
For Each Z In X
i = i + 1
Y(i) = Z.Value
Next
X.Clear
Tabelle1.Range("J3").Resize(UBound(Y), 1) = WorksheetFunction.Transpose(Y)
Exit Sub
ende: MsgBox "Nur leere Zellen!"
End Sub
Also der Code funktioniert soweit wunderbar, nur leider wenn in dem Zell-Bereich
"F4:F15" echte Werte stehen.
Der Code müsste so angepasst werden, dass wenn in "F4:F15" Formeln stehen und nur die Werte weiter verarbeitet werden sollen
kann mir da jemand helfen.
Mit freundlichen Grüßen
DU Jürgen

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Tipp-Fehler
07.04.2015 10:28:35
Jürgen
Ich meinte natürlich den Zell-Bereich "G4:G15"
Sorry

AW: Zellen mit Konstanten statt mit Formeln
07.04.2015 10:44:37
fcs
Hallo Jürgen,
das müsste dann wie folgt aussehen.
Allerdings würde ich in den Zellen, deren Werte "weggesammelt" werden, nicht alles löschen, sondern nur die Inhalte.
Gruß
Franz
Sub a()
Dim i As Integer
Dim X As Range
Dim Y As Variant
Dim Z As Range
On Error GoTo ende
Set X = Tabelle1.Range("G4:G15").SpecialCells(xlCellTypeConstants)
ReDim Y(1 To X.Count)
For Each Z In X
i = i + 1
Y(i) = Z.Value
Next
X.ClearContents
Tabelle1.Range("J3").Resize(UBound(Y), 1) = WorksheetFunction.Transpose(Y)
Exit Sub
ende:   MsgBox "Nur leere Zellen!"
End Sub

Anzeige
Da hast Du natürlich recht
07.04.2015 10:52:12
Jürgen
Hallo Franz,
ja, natürlich NICHT LÖSCHEN sondern nur die Werte entnehmen.
Danke für den Hinweis
Aber der Code den Du jetzt mitgeliefert hast, ist der gleiche wie zuvor
Oder bin da jetzt etwas voreilig gewesen.
Mit bestem Gruß
DU Jürgen

AW: Da hast Du natürlich recht
07.04.2015 12:06:22
fcs
Hallo Jürgen,
Oder bin da jetzt etwas voreilig gewesen.
Wer lesen kann ist im Vorteil: xlCellTypeConstants ist neu, da stand vorher etwas anderes.
Gruß
Franz

2. Versuch
07.04.2015 13:46:43
Jürgen
Hallo Franz,
Hallo alle miteinander,
Franz, deine Änderungen funktionieren nicht, daher
zum besseren Verständnis alles nochmal von vorn, mit einer Muster-Datei.
https://www.herber.de/bbs/user/96901.xls
Der Zell-Bereich "G4:G15" ( mit Formeln ), deren Werte sollen kopiert (übertragen) und ohne LeerZellen
ab Zelle "J3" aufgelistet werden.
Der Zell-Bereich "G4:G15" mit den Formeln darf nicht gelöscht werden
wenn hierzu jemand Lösungsvorschläge hat, das wäre sehr nett
Mit freundlichen Grüßen
DU Jürgen

Anzeige
AW: 2. Versuch
07.04.2015 14:30:14
fcs
Hallo Jürgen,
unvollständige Fragen/Erläuterungen führen eben nicht zu den richtigen Antworten.
So muss es dann aussehen.
Gruß
Franz
Sub a()
Dim i As Integer
Dim X As Range
Dim Y As Variant
Dim Z As Range
On Error GoTo ende
Set X = Tabelle1.Range("G4:G15").SpecialCells(xlCellTypeFormulas)
ReDim Y(1 To X.Count)
For Each Z In X
If Z  "" Then
i = i + 1
Y(i) = Z.Value
End If
Next
'  X.ClearContents
Tabelle1.Range("J3").Resize(UBound(Y), 1) = WorksheetFunction.Transpose(Y)
Exit Sub
ende:   MsgBox "Nur leere Zellen!"
End Sub

Anzeige
Hallo Franz
07.04.2015 19:18:47
Jürgen
Hallo Franz,
ein ganz große Dankeschön an Dich ( und deine Geduld )
funktioniert wunderbar
wünsche Dir noch einen schönen Abend
Mit besten Grüßen
DU Jürgen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige