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

mehrere Zellen ansprechen VBA

mehrere Zellen ansprechen VBA
26.02.2020 09:39:45
Nico264
Hallo liebes Forum,
ich habe einen Code bei dem ich eine neue Zeile unter der aktuellen zeile einfügen lasse. Dadurch sind aber die Formeln die ich in Excel eingegeben habe natürlich nicht in der eingefügten Zeile vorhanden.
Ich habe im Forum einen Beispielcode entdeckt und diesen für meine Bedürfnisse angepasst. Jedoch bin ich ein Amateur und ich lasse jetzt jede Zelle einzeln durchlaufen und die Formel nach unten kopieren. Weiß jemand wie ich das vereinfachen kann, damit es nicht so lange braucht diese funktion umzusetzten?
Hier mein Code:
Sub T_LOP_Unterpunkt_click(Optional uhu As Boolean)
'-- keine Sprache
Dim z_nummer, z_titel As Range, r_zeile, ii, i As Integer, zellwert As String
r_zeile = ActiveCell.Row
' Pr?fen zeile ob unter Filterzeile
If r_zeile (kleiner) T_versteck.Range("K29").Value Then
ActiveCell.Offset(1, 0).EntireRow.Insert
'-----------Formeln "runterziehen" f?r die neu eingef?gte zeile----------
Dim lngLetzte As Long 'letzte Zeile
With ActiveSheet
'letzte Zeile auffinden:
lngLetzte = .UsedRange.Rows.Count + .UsedRange.Row - 1
.Range(.Cells(r_zeile, 9), Cells(r_zeile + 1, 9)).Formula = .Cells(r_zeile, 9).Formula 'Formel aus i10 runterkopieren:
.Range(.Cells(r_zeile, 10), Cells(r_zeile + 1, 10)).Formula = .Cells(r_zeile, 10).Formula
.Range(.Cells(r_zeile, 11), Cells(r_zeile + 1, 11)).Formula = .Cells(r_zeile, 11).Formula
.Range(.Cells(r_zeile, 14), Cells(r_zeile + 1, 14)).Formula = .Cells(r_zeile, 14).Formula
.Range(.Cells(r_zeile, 15), Cells(r_zeile + 1, 15)).Formula = .Cells(r_zeile, 15).Formula
.Range(.Cells(r_zeile, 16), Cells(r_zeile + 1, 16)).Formula = .Cells(r_zeile, 16).Formula
.Range(.Cells(r_zeile, 17), Cells(r_zeile + 1, 17)).Formula = .Cells(r_zeile, 17).Formula
.Range(.Cells(r_zeile, 18), Cells(r_zeile + 1, 18)).Formula = .Cells(r_zeile, 18).Formula
.Range(.Cells(r_zeile, 19), Cells(r_zeile + 1, 19)).Formula = .Cells(r_zeile, 19).Formula
End With
Ich Danke euch schon mal im Voraus und Gruß
Nico

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

Betreff
Datum
Anwender
Anzeige
AW: mehrere Zellen ansprechen VBA
26.02.2020 09:57:56
Nepumuk
Hallo Nico,
ein einfaches Copy mit anschließendem PasteSpecial sollte es tun.
Beispiel:
Public Sub Test()
Call ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1, 0).EntireRow.PasteSpecial xlPasteFormulas
Application.CutCopyMode = False
End Sub

Gruß
Nepumuk
AW: mehrere Zellen ansprechen VBA
26.02.2020 10:04:06
Nico264
Hallo Nepumuk,
Danke für deine schnelle Antwort. Ich habe vergessen zu erklären dass ich nur bestimmte Zellen ansprechen bzw kopieren will und nicht die ganze Zeile. Dein Code kopiiert die ganze Zeile oder?
Mein Fehler.
Gruß Nico
Anzeige
AW: mehrere Zellen ansprechen VBA
26.02.2020 10:11:04
Nepumuk
Hallo Nico,
du fügst doch eine ganze Zeile ein.
Gruß
Nepumuk
AW: mehrere Zellen ansprechen VBA
26.02.2020 10:47:19
Nico264
Hi Nepumuk,
du hast recht, aber ganz allgemein gefragt:
gibt es eine einfacherer Möglichkeit nur den Inhalt der sechs Zellen zu kopieren und nicht die ganze Zeile? Der Rest soll kann erstmal außen vor bleiben.
Ich Danke dir
Gruß
AW: mehrere Zellen ansprechen VBA
26.02.2020 12:13:07
Klaus
Hallo Nico,
Dim i As Long
For i = 9 To 19
.Range(.Cells(r_zeile, i), Cells(r_zeile + 1, i)).Formula = .Cells(r_zeile, i).Formula
Next i
LG,
Klaus M.

86 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige