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

Spalten nicht übertragen

Spalten nicht übertragen
12.08.2019 11:31:04
Matthias
Hallo Wissende,
ich habe folgenden Code, wie muss ich diesen Code
verändern, damit die Spalten A+B nicht mehr übertragen
werden.
Danke im Voraus
Matthias

Sub Übertrag_Deckenfirma()
Dim loAnz As Long, loLetzte As Long
Dim raBereich As Range, raZelle As Range
Application.ScreenUpdating = False
With Worksheets("Deckenfirma")
.Range("A1:AA" & .Cells(.Rows.Count, 1).End(xlUp).Row).Clear
End With
With Worksheets("Terminplan")
.Columns("A:B").Hidden = False
Set raBereich = .Range("A1:A" & .Cells(.Rows.Count, "A").End(xlUp).Row)
For Each raZelle In raBereich.SpecialCells(xlCellTypeVisible)
If raZelle.Text = .Range("F7").Text Then
raZelle.EntireRow.SpecialCells(xlCellTypeVisible).Copy
loAnz = loAnz + 1
With Worksheets("Deckenfirma")
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row
If .Cells(1, "A") = "" Then loLetzte = 1
.Cells(loLetzte, "A").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
.Cells(loLetzte, "A").PasteSpecial Paste:=xlPasteFormats
End With
End If
Next raZelle
.Columns("A:B").Hidden = True
End With
Application.CutCopyMode = True
MsgBox "Es wurden " & loAnz & " Sätze übertragen."
Set raBereich = Nothing
End Sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten nicht übertragen
12.08.2019 11:50:54
Werner
Hallo Matthias,
lass das Makro doch einfach wie es ist und lösch am Ende in deinem Zielblatt die spalten A und B.
Gruß Werner
AW: Spalten nicht übertragen
12.08.2019 13:02:26
Matthias
Hallo Werner,
hab ich schon probiert,
bekomme aber die Fehlermeldung, dass nicht genügend
Arbeitsspeicher frei wäre.
Auch müsste dann die Spalte A+B eingeblendet werden.
Gruss
Matthias
AW: Spalten nicht übertragen
12.08.2019 13:29:05
Daniel
HI
beispielsweise so in Zeile in welcher du kopierst
Intersect(raZelle.EntireRow, .userdrange, .usedrange.Offset(0, 2)).SpecialCells(xlCellTypeVisible).Copy
oder, wenn die Anzahl der zu kopierenden Spalten bekannt ist (für 99 die Anzahl der Spalten einsetzen):
raZelle.offset(0, 2).Resize(, 99)
anstelle der Schleife könntest du auch so vorgehen:
1. sortiere die Liste nach Spalte A. danach sollten alle Zeilen, die kopiert werden müssen, einen lückenlosen Block bilden, welchen du in einem Stück kopieren kannst.
2. ermittle dann nach dem Sortieren den Kopierbereich nach diesem Schema:
raBereich.Find(what:=.Range("E7").Text, lookat:=xlwhole).Offset(0, 2).Resize(Worksheetfunction.CountIf(raBereich, .Range("E7").Text), 99).SpecialCells(xlcelltypevisible).Copy

dann kannst du den ganzen Block in einem Schritt kopieren.
Gruß Daniel
Anzeige
AW: Spalten nicht übertragen
12.08.2019 14:59:02
Matthias
Hallo Daniel,
das das geht nicht leider nicht, mit dem Sortieren,
gibt es keine Möglichkeit, dass einfach die Spalte A+B nicht mit kopiert werden
?
Gruss
Matthias
AW: Spalten nicht übertragen
12.08.2019 15:01:06
Daniel
ich hatte dir doch zwei Möglichkeiten gezeigt, wie du dein bestehendes Schleifenmakro abändern musst, um die ersten zwei Spalten nicht mitzukopieren.
Gruß Daniel
AW: Spalten nicht übertragen
12.08.2019 15:34:52
Matthias
Hi,
da ich VBA nicht so gut kann, könntest du
mir Bitte die Zeile sagen?
Gruss
Matthias
AW: Spalten nicht übertragen
12.08.2019 15:53:56
Daniel
naja, deinen Code solltest du so gut kennen, dass du weißt, in welcher Zeile kopiert wird.
die musst du entsprechend austauschen.
nur so als Tip, dass ist die, wo .Copy drin vorkommt.
bei meinem 2. Vorschlag habe ich übrigens das ".Copy" am Ende vergessen, dass muss du ergänzen.
Gruß Daniel
Anzeige
AW: Spalten nicht übertragen
12.08.2019 15:59:21
Matthias
Hallo Daniel,
wenn ich die Zeilen austausche bekomme
ich nun die Fehlermeldung
438 Objekit unterstützt diese Eigenschaft oder Methode nicht
Grusse
Mattias
AW: Spalten nicht übertragen
12.08.2019 16:48:44
Daniel
zeige bitte DEINEN Code
Gruß Daniel
AW: Spalten nicht übertragen
13.08.2019 07:05:04
Matthias

Sub Übertrag_Montagefirma()
Dim loAnz As Long, loLetzte As Long
Dim raBereich As Range, raZelle As Range
Application.ScreenUpdating = False
With Worksheets("Montagefirma")
.Range("A1:xfd10000" & .Cells(.Rows.Count, 1).End(xlUp).Row).Clear
End With
With Worksheets("Terminplan")
.Columns("A:B").Hidden = False
Set raBereich = .Range("B1:B" & .Cells(.Rows.Count, "B").End(xlUp).Row)
For Each raZelle In raBereich.SpecialCells(xlCellTypeVisible)
If raZelle.Text = .Range("F6").Text Then
Intersect(raZelle.EntireRow, .userdrange, .UsedRange.Offset(0, 2)).SpecialCells( _
xlCellTypeVisible).Copy
loAnz = loAnz + 1
With Worksheets("Montagefirma")
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row
If .Cells(1, "A") = "" Then loLetzte = 1
.Cells(loLetzte, "A").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
.Cells(loLetzte, "A").PasteSpecial Paste:=xlPasteFormats
End With
End If
Next raZelle
.Columns("A:B").Hidden = True
End With
Application.CutCopyMode = True
MsgBox "Es wurden " & loAnz & " Sätze übertragen."
Set raBereich = Nothing
End Sub

Anzeige
AW: Spalten nicht übertragen
13.08.2019 08:00:30
Daniel
Da hast du einen Schreibfehler eingebaut, so dass der Interpreter einen VBA-Schlüsselbegriff nicht erkennt.
Der Editor hat ein paar Funktionen, die dir helfen solche Fehler zu erkennen und zu vermeiden.
1. jeder VBA-Schlüsselbegriff besteht aus Gross- und Kleinbuchstaben. Meistens befindet dich ein Großbuchstabe auch innerhalb des Wortes.
Wenn du beim Schreiben immer alles klein schreibst und der Interpreter erkennt nach Abschluss der Zeile den Schlüsselbegriff, so wird die Gross-Kleinschreibung angepasst.
Bleiben alle Buchstaben klein, wurde der Begriff nicht erkannt und daran kannst du sehen, dass du dich verschrieben hast.
2. nutze beim Schreiben die Intellisense, wenn du nicht genau weißt, wie der Schlüsselbegriff geschrieben wird.
Hierzu tippst du die ersten Buchstaben ein und drückst dann STRG+Leertaste.
Das Wort wird dann vervollständigt oder du bekommst eine Klappliste mit möglichen VBA-Schlüsselbegriffen, von denen du den passenden auswählen kannst.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige