Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.06.2024 19:56:24
17.06.2024 19:39:46
Anzeige
Archiv - Navigation
1860to1864
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
VBA-Code: Nur Zellen mit Formel kopieren
07.12.2021 11:37:33
Dario
Hallo zusammen,
ich möchte eine Spalte, die per Makro ausgewählt wird, durchsuchen und alle Zeilen kopieren, die eine Formel beinhalten.
Die Formeln sollen in ein zweite Spalte kopiert werden, die auch durch das Makro ausgewählt wird.
Das auswählen der Spalten funktioniert aber das kopieren nicht, also der Teil:

i = 1
For Each xRgF1 In xRgC1
If Not cell Is Nothing Then
If cell.HasFormula = True Then
cell.EntireRow.Copy Destination:=RgF2
i = i + 1
End If
End If
Next cell
Über eure Hilfe würde ich mich sehr freuen.
Danke und Gruß
Dario
Hier noch der gesamte Code:

Sub Formeln()
Dim xRg, xRgC1, xRgC2, xRgF1, xRgF2 As Range
Dim xIntSR, xIntER, xIntSC, xIntEC As Integer
On Error Resume Next
SRg:
Set xRgC1 = Application.InputBox("Select first column formules:", "Kutools for Excel", , , , , , 8)
If xRgC1 Is Nothing Then Exit Sub
If xRgC1.Columns.Count  1 Then
MsgBox "Please select single column"
GoTo SRg
End If
SsRg:
Set xRgC2 = Application.InputBox("Select the column for ouput:", "Kutools for Excel", , , , , , 8)
If xRgC2 Is Nothing Then Exit Sub
If xRgC2.Columns.Count  1 Then
MsgBox "Please select single column"
GoTo SsRg
End If
Set xWs = xRg.Worksheet
i = 1
For Each xRgF1 In xRgC1
If Not cell Is Nothing Then
If cell.HasFormula = True Then
cell.EntireRow.Copy Destination:=RgF2
i = i + 1
End If
End If
Next cell
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code: Nur Zellen mit Formel kopieren
07.12.2021 12:55:30
EtoPHG
Hallo Dario,
Da herrscht Durcheinander mit, denn Quellen und Ziel sind nicht miteinander vereinbar:
Column = Spalte
Row oder EntireRow = Zeile
Zellen sind keine Zeilen
Du legst Spalten fest, willst dann aber Zeilen (statt Zellen?) in Spalten kopieren. Dann musst du transponieren.
Zudem Dimensionierung wie:

Dim xRg, xRgC1, xRgC2, xRgF1, xRgF2 As Range
legen nur die letzte Variable (hier xRgF2) als Range fest. Alle davorliegenden sind vom Typ Variant.
Also:

Dim xRg as Range, xRgC1 as Range, xRgC2 as Range, xRgF1 as Range, xRgF2 As Range
Gruess Hansueli
Anzeige
AW: VBA-Code: Nur Zellen mit Formel kopieren
07.12.2021 16:22:02
Dario
Hallo Hansueli,
das kommt davon, weil ich bis jetzt alles nur zusammen kopiert habe.
Ich muss mich in VBA mehr einarbeiten, um das alles besser zu verstehen.
Mir wurde hier schon weitergeholfen.
Aber danke für deine Bemerkungen!
Gruß
Dario
AW: VBA-Code: Nur Zellen mit Formel kopieren
07.12.2021 13:19:34
ChrisL
Hi
Zwei unterschiedliche Variante zur Auswahl, je nach Anforderung.

Sub Formeln()
Dim xRgC1 As Range, xRgC2 As Range
On Error Resume Next
Do
Set xRgC1 = Application.InputBox("Select first column formules:", "Kutools for Excel", , , , , , 8)
If xRgC1 Is Nothing Then Exit Sub
If xRgC1.Columns.Count  1 Then MsgBox "Please select single column"
Loop Until xRgC1.Columns.Count = 1
Do
Set xRgC2 = Application.InputBox("Select the column for ouput:", "Kutools for Excel", , , , , , 8)
If xRgC2 Is Nothing Then Exit Sub
If xRgC2.Columns.Count  1 Then MsgBox "Please select single column"
Loop Until xRgC2.Columns.Count = 1
xRgC1.SpecialCells(xlCellTypeFormulas).Copy xRgC2.Cells(1, 1)
End Sub

Sub Formeln2()
Dim xRgC1 As Range, xRgC2 As Range
Dim c As Range
On Error Resume Next
Do
Set xRgC1 = Application.InputBox("Select first column formules:", "Kutools for Excel", , , , , , 8)
If xRgC1 Is Nothing Then Exit Sub
If xRgC1.Columns.Count  1 Then MsgBox "Please select single column"
Loop Until xRgC1.Columns.Count = 1
Do
Set xRgC2 = Application.InputBox("Select the column for ouput:", "Kutools for Excel", , , , , , 8)
If xRgC2 Is Nothing Then Exit Sub
If xRgC2.Columns.Count  1 Then MsgBox "Please select single column"
Loop Until xRgC2.Columns.Count = 1
For Each c In xRgC1
If Not c Is Nothing And c.HasFormula Then c.Copy Destination:=Cells(c.Row, xRgC2.Column)
Next c
End Sub
cu
Chris
Anzeige
AW: VBA-Code: Nur Zellen mit Formel kopieren
07.12.2021 16:23:29
Dario
Hallo Chris,
vielen Dank!
Die zweite Lösung war genau was ich gesucht habe.
Gruß
Dario

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige