Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1708to1712
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
02.09.2019 10:51:49
Matthias
Hallo,
kann mir jemand helfen,
Was muss ich bei folgenden Code ändern,
damit die Spalte A+B nicht übertragen werden.
Danke im Voraus
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
raZelle.EntireRow.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

39
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten nicht übertragen
02.09.2019 10:58:01
Daniel
Hallo Matthias,
warum blendest du denn Spalte A und B überhaupt ein? Wenn du die ausgeblendet hältst, werden die Zellen auch nicht mitkopiert (nur die sichtbaren).
Ich nehme auch an, du möchtest eigentlich bei
.Range("A1:xfd10000" & .Cells(.Rows.Count, 1).End(xlUp).Row).Clear

die 10000 hinter xfd weglassen?
Gruß
Daniel
AW: Spalten nicht übertragen
02.09.2019 11:12:24
Matthias
Hallo Daniel,
wenn ich die Spalten von vorn herein ausblende,
funktioniert der Code nicht. Weil dort Informationen
stehen.
Gruss
Matthias
AW: Spalten nicht übertragen
02.09.2019 11:17:32
Daniel
Dann blende doch die Spalten in der If Schleife wieder aus und am Ende wieder ein
Anzeige
AW: Spalten nicht übertragen
02.09.2019 11:19:07
Matthias
Hallo,
weiß ich nicht wie das geht,
AW: Spalten nicht übertragen
02.09.2019 11:22:13
Daniel

If raZelle.Text = .Range("F6").Text Then
.Columns("A:B").Hidden = True
raZelle.EntireRow.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
.Columns("A:B").Hidden = False
End If

AW: Spalten nicht übertragen
02.09.2019 11:36:35
Werner
Hallo,
dann nimm halt für deinen Bereich die Spalte C. Prüfen auf den richtigen Wert in Spalte B kann man dann ja mit raZelle.Offset(, -1).
Spalte A und B bleiben einfach ausgeblendet.
Oder du lässt den Code wie er ist und löschst einfach nach dem Datenübertrag im Zielblatt die Spalten A und B.
Sub aaa()
Dim loAnz As Long, loLetzte As Long
Dim raBereich As Range, raZelle As Range
Application.ScreenUpdating = False
With Worksheets("Montagefirma")
.Range("A1:XFD" & .Cells(.Rows.Count, 1).End(xlUp).Row).Clear
End With
With Worksheets("Terminplan")
Set raBereich = .Range("C1:C" & .Cells(.Rows.Count, "C").End(xlUp).Row)
For Each raZelle In raBereich.SpecialCells(xlCellTypeVisible)
If raZelle.Offset(, -1).Text = .Range("F6").Text Then
raZelle.EntireRow.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
End With
Application.CutCopyMode = True
MsgBox "Es wurden " & loAnz & " Sätze übertragen."
Set raBereich = Nothing
End Sub

Gruß Werner
Anzeige
AW: Spalten nicht übertragen
02.09.2019 11:47:14
Daniel
Hallo Werner,
dann fehlt aber doch in jeder Zeile eine Zelle zum Prüfen? Bei der letzten sichtbaren Zelle pro Zeile wird die links daneben geprüft, worauf er dann in die nächste Zeile zur ersten sichtbaren Zelle wechselt.
Gruß
Daniel
AW: Spalten nicht übertragen
02.09.2019 12:00:05
Werner
Hallo Daniel,
verstehe ich jetzt nicht - oder steh ich gerade auf dem Schlauch?
Ich habe doch raBereich auf Spalte C geändert.
Set raBereich = .Range("C1:C" & .Cells(.Rows.Count, "C").End(xlUp).Row)

Ob ich die Vidible Eigenschaft jetzt in Spalte B oder in Spalte C prüfe ist doch egal, einzelne Zellen können ja nicht ausgeblendet sein.
Wenn die Zelle sichtbar ist, prüfe ich mit Offset die entsprechende Zelle in B auf den entsprechenden Wert.
Gruß Werner
Anzeige
AW: Spalten nicht übertragen
02.09.2019 12:49:11
Daniel
Ok hast recht Werner, hatte im Hinterkopf, dass er eine Range mit mehreren Spalten durchläuft. Genaues Lesen hilft ;-)
Grüße
Daniel
AW: Spalten nicht übertragen
02.09.2019 14:31:41
Matthias
Hallo ihr Beiden,
was ist denn nun die Lösung
frag das VBA-Forum....
02.09.2019 14:46:28
robert
AW: Spalten nicht übertragen
02.09.2019 19:32:01
Werner
Hallo,
ich habe dir einen Code gepostet - was hälst du denn davon den einfach mal zu testen?
Gruß Werner
AW: Spalten nicht übertragen
03.09.2019 11:03:35
Matthias
Hallo Werner,
der Code funktioniert so nicht.
Gruss Matthias
Super Aussage.
03.09.2019 12:00:58
Werner
Hallo Matthias,
was funktioniert nicht?
Gibt es einen Fehler, wenn ja welchen und in welcher Codezeile?
Lade deine Datei (ggf. mit anonymisierten Daten), in der er nicht funktioniert hier hoch. Ansonsten bleibt das hier ein Rätselraten.
Gruß Werner
Anzeige
AW: Super Aussage.
03.09.2019 13:51:11
Matthias
Hallo Werner,
also ich bin wohl zu blöd,
kann die Datei nicht hochladen,
egal welches Format und welche Grösse.
Kommt immer die Meldung, Datei hat falsches Format.
Gruss
Matthias
AW: Super Aussage.
03.09.2019 13:57:41
Werner
Hallo Matthias,
zum Hochladen folgendes beachten:
1. Datei max. 300 kb
2. Datei darf nicht zu tief in irgendwelchen Verzeichnissen liegen, am besten auf dem Desktop ablegen
3. im Dateinamen keine Umlaute, am besten umbenennen in Test
4. E-Mail Adresse, Passwort angeben
5. Haken bei den Datenschutzbestimmungen setzen
6. Durchsuchen - entsprechende Datei wählen
7. Datei zum Server klicken
8. den erzeugten Link kopieren und in den Beitrag einfügen
Gruß Werner
Anzeige
AW: Super Aussage.
03.09.2019 14:06:46
Matthias
Hallo Werner,
habe es genau so gemacht,
immer die gleiche Meldung
AW: Spalten nicht übertragen
03.09.2019 14:16:26
GerdL
Hallo Matthias,
zu deiner Frage bezogen auf deinen Ursprungscode:
Cells(raZelle.Row, 3).Resize(1, Columns.Count - 2).SpecialCells(xlCellTypeVisible).Copy
Gruß Gerd
AW: Spalten nicht übertragen
03.09.2019 14:27:14
Matthias
Hallo Gerd,
welche Zeile des Codes muss ich ersetzen,
Gruss
Matthias
AW: Spalten nicht übertragen
03.09.2019 14:49:49
GerdL
Hallo Matthias,
na die mit ... .Copy
Gruß Gerd
AW: Spalten nicht übertragen
03.09.2019 15:27:51
Matthias
Hallo Gerd,
nein er überträg zwar etwas aber nicht alles,
Gruss
Matthias
Anzeige
AW: Spalten nicht übertragen
03.09.2019 15:29:19
Daniel
Ich habe echt Null Verständnis dafür, dass dir überhaupt noch jemand antwortet bei deiner Art. Fürchterlich.
AW: Spalten nicht übertragen
03.09.2019 15:44:49
Matthias
Hallo Daniel,
sorry, werde mal konkreter mit der Kritik,
AW: Spalten nicht übertragen
03.09.2019 16:00:07
Matthias
Hallo,
nun hab ich es endlich geschafft und Datei up geloaded
https://www.herber.de/bbs/user/131818.zip
Ich weiß zwar nicht, was ich falsch geantwortet habe,
aber ich entschuldige mich dafür.
Grüsse
Matthias
AW: Spalten nicht übertragen
03.09.2019 16:03:21
Daniel
Du hast verschiedene Lösungen präsentiert bekommen, fragst dennoch nach neuen Lösungen (ohne Feedback) und wenn nachgefragt wird, was denn das Problem sei, kommt "es geht nicht".
Dann kommt sogar noch einer und bietet dir einen weiteren Lösungsansatz an, was passiert? Antwort - "geht nicht". Was würdest du antworten, wenn du jemandem Hilfe anbietest und er so reagiert? Wohlgemerkt nachdem du dazu aufgerufen wurdest, konkrete Problembeschreibungen abzugeben. Machst du einfach nicht, sondern raubst noch anderen Leuten (in verschiedenen Foren, ohne Hinweis) die Zeit.
War das ausführlich genug?
Anzeige
AW: Spalten nicht übertragen
03.09.2019 16:06:10
Matthias
Hallo Daniel,
ok, du hast wohl recht, das war wohl nicht ok,
aber auch nicht so bewusst.
Ich werde mich bessern.
Gruss
Matthias
AW: Spalten nicht übertragen
03.09.2019 17:44:13
Hajo_Zi
Halo Matthias,
man kan da Daniel nur zustimmen.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Spalten nicht übertragen
03.09.2019 19:22:46
Werner
Hallo Matthias,
nach dem endlosen Vorgeplänkel hatte ich eigentlich nicht mehr besonders viel Lust.
Die Makros sind jetzt beide in einem allgemeinen Modul, da gehören sie auch hin und nicht ins Codemodul des Tabellenblattes.
Das ganze funktioniert über den Autofilter.
Teste mal.
https://www.herber.de/bbs/user/131825.xlsm
Gruß Werner
Anzeige
AW: Spalten nicht übertragen
04.09.2019 06:51:00
Matthias
Hallo Werner,
danke erstmal für die Bearbeitung.
Ich werde die Makros Testen und mich noch mal melden.
Gruss
Matthias
AW: Spalten nicht übertragen
05.09.2019 13:02:07
Matthias
Hallo Werner,
ich habe nun die Datei geprüft,
ich verstehe es nicht, deine Datei funktioniert so wie gewollt,
also die Spalten A+B werden nicht übertragen.
Nun habe ich den Code in meine Datei kopiert und gespeichert,
und die Spalten A+B werden übertragen. Habe auch schon das Tabellenblatt
gelöscht und wieder neu erstellt. Jetzt weiss mir wirklich nicht zu helfen.
Hast du einen Tipp, warum es in der einen Datei funktioniert und in der anderen
nicht?
Gruss
Matthias
Anzeige
AW: Spalten nicht übertragen
05.09.2019 13:23:58
Werner
Hallo Matthias,
nein, habe ich nicht, weil ich nicht hellsehen kann.
Es ist schon ziemlich sinnvoll hier eine Datei einzustellen, die nicht dem Original entspricht.
Poste die Originaldatei, in der es nicht funktioniert, ggf. mit anonymisierten Daten, dann sehen wir weiter.
Gruß Werner
AW: Spalten nicht übertragen
05.09.2019 14:03:47
Matthias
Hallo Werner,
das würde ich gerne tun aber die Original Datei ist so Groß,
dass ich diese hier nicht hochgeladen bekomme, selbst wenn ich
diese Zippe. Die Datei, die du mir hochladen has funktioniert ja
und ist eigentlich abgeleitet aus der Originalen.
Gruss
Matthias
AW: Spalten nicht übertragen
05.09.2019 14:03:50
Matthias
Hallo Werner,
das würde ich gerne tun aber die Original Datei ist so Groß,
dass ich diese hier nicht hochgeladen bekomme, selbst wenn ich
diese Zippe. Die Datei, die du mir hochladen has funktioniert ja
und ist eigentlich abgeleitet aus der Originalen.
Gruss
Matthias
AW: Spalten nicht übertragen
05.09.2019 14:46:56
Werner
Hallo Matthias,
ein letzter Versuch ohne Originaldatei:
1. im Blatt "Terminplan" sind die Spalten A und B ausgeblendet?
2. Wie hast du meinen Code in der Originaldatei jetzt in Verwendung? Bitte so wie er da jetzt drin ist nochmal hier posten.
Als letzte Möglichkeit: Alles so lassen wie du es jetzt schon hast, sprich die Spalten A und B werden mit übertragen.
Ganz am Ende des Makros einfach Spalte A und B im Blatt "Montagefirma" löschen.
Worksheets("Montagefirma").Columns("A:B").Delete
Ansonsten bin ich dann raus. Den Beitrag auf offen zu stellen kannst du dir wahrscheinlich auch sparen, da auch andere hier im Forum nicht hellseleh können.
Gruß Werner
AW: Spalten nicht übertragen
05.09.2019 14:57:56
Matthias
Hallo Werner,
anbei der Code
Ja die Spalten A+B sind ausgeblendet.
Hallo Werner noch eine Bitte, ich habe
die Zeile mit dem Löschen mal ausprobiert und eingefügt,
s.u. ist das die richtige Stelle.
Gruss
Matthias
Sub Übertrag_Montagefirma()
Dim loAnzahl As Long, loLetzte As Long, i As Long, raZelle As Range
Application.ScreenUpdating = False
Worksheets("Montagefirma").Range("A1:A1000").EntireRow.Delete
With Worksheets("Terminplan")
If .AutoFilterMode Then .AutoFilterMode = False
.Range("$A1:$NO$" & .Cells(.Rows.Count, "B").End(xlUp).Row).AutoFilter Field:=2, Criteria1:= _
.Range("F6")
With .AutoFilter.Range
If .Columns("C").SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
.Columns("C:NO").Copy
Worksheets("Montagefirma").Range("A1").PasteSpecial Paste:=xlPasteValues
Worksheets("Montagefirma").Range("A1").PasteSpecial Paste:=xlPasteFormats
Worksheets("Montagefirma").Columns("A:NO").AutoFit
Application.CutCopyMode = False
End If
End With
If .AutoFilterMode Then .AutoFilterMode = False
End With
With Worksheets("Montagefirma")
For Each raZelle In .Range("F6:F" & .Cells(.Rows.Count, "F").End(xlUp).Row)
If raZelle  "" Then
If IsNumeric(raZelle.Value) Then
loAnzahl = loAnzahl + 1
End If
End If
Next raZelle
End With
If loAnzahl > 0 Then
MsgBox "Es wurden " & loAnzahl & " Datensätze übertragen."
Else
MsgBox "Es sind keine entsprechenden Datensätze vorhanden."
End If
hhhhhhier eingefügt
End Sub

AW: Spalten nicht übertragen
05.09.2019 15:05:42
Werner
Hallo Matthias,
ich verstehe jetzt ehrlich nicht, weshalb du das einfach mal testest.
Du kannst es auch hier einfügen:
If loAnzahl > 0 Then
Worksheets("Montagefirma").columns("A:B").Delete
MsgBox "Es wurden " & loAnzahl & " Datensätze übertragen."
Else
MsgBox "Es sind keine entsprechenden Datensätze vorhanden."
End If
Dann wird nur dann gelöscht, wenn auch irgendwelche Daten übertragen wurden.
Gruß Werner
AW: Spalten nicht übertragen
05.09.2019 15:27:28
Daniel
Ich bewundere echt deine Engelsgeduld Werner. Respekt!
tja, aber leider fürn Ar....
08.09.2019 13:58:06
Werner
Hallo Daniel,
...weil es für "Geht nicht" quasi im Minutentakt gereicht hat, mehr dann aber wohl nicht.
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige