Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1348to1352
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

Selektion erweitern...

Selektion erweitern...
14.02.2014 10:08:13
walter
Guten Morgen,
habe mal dieses Makro aus dem Forum erhalten.
Nun möchte ich gern zusätzlich noch die Spalte Y mit kopiert
wird. Hatte dies so eingesetzt:
Range("A" & z, "Q" & z, "Y" & z).Select
leider Fehlermeldung.
Sheets("Test_Druck").Select
Range("A3").Activate
Antwort = MsgBox(" Sollen die 'alten' Daten gelöscht werden ? " & _
Chr(13), 32 + vbYesNo, "Abfrage Löschen ?")
If Antwort = vbYes Then
l = Range("a3").End(xlDown).Row
ActiveSheet.Range(Cells(3, 1), Cells(l, 38)).Select
Selection.ClearContents
Range("A3").Select
Else
Range("A3").Select
End If
Sheets("Datenbank-Auswahl").Select
Range("A3").Activa
z = ActiveCell().Row
verg = Left((Cells(1, 2)), 5)
z = 3 ' Startzeile für Schleife (hier 3)
Do While Cells(z, 1) "" ' Start der Schleife
Range("A" & z, "Q" & z, "Y" & z).Select
If Left(Cells(z, 11), 5) = verg Then
Range("A" & z, "Q" & z).Select
Selection.Copy ' Zeile kopieren
Sheets("Test_Druck").Activate ' Tabellenblatt 1 aktivieren
' 1. freie Zeile suchen
zz = 3 ' Startzeile für Schleife
Do While Cells(zz, 1) "" ' Start der Schleife 2=Spalte B
zz = zz + 1 ' Schleifenzähler um 1 erhöhen
Loop ' Wendepunkt für Schleife
Cells(zz, 1).Select ' Zelle selektieren 2=in Spalte B anfang
ActiveSheet.Paste ' kopierte einfügen
gruß walter

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

Betreff
Datum
Anwender
Anzeige
AW: Selektion erweitern...
14.02.2014 10:17:56
Matze
Hallo Walter,
hab nur schnell überflogen , bei:
Sheets("Datenbank-Auswahl").Select
Range("A3").Activa ' fehlt te
und hier brauchst du die Spalte nicht?
If Left(Cells(z, 11), 5) = verg Then
Range("A" & z, "Q" & z).Select 'Y nicht nötig?
lags daran ?
Matze

AW: Selektion erweitern...
14.02.2014 10:27:08
hary
Moin Walter
Mit Union.
Union(Range("A" & z, "Q" & z), Range("Y" & z)).Select

Ob diese ganze selectiererei noetig ist glaub ich nicht.
gruss hary

Moin hary,...
14.02.2014 10:36:37
Matze
...ich glaub da läuft einiges schief,
Das selecten nervt ist auch völliger Blödsinn wie du schon sagst.
Die Variablen werden auch nicht deklariert, da wäre es besser er stellt die Mappe mal ein.
Matze

Anzeige
AW: ja,..
14.02.2014 11:00:35
hary
Moin Matze
den ersten Teil kann man so schreiben. Evtl. muss ein activate rein da mit der Else-zweig funkt.
Dim l As Long
With Sheets("Test_Druck")
If MsgBox(" Sollen die 'alten' Daten gelöscht werden ? " & Chr(13), 32 + vbYesNo, "Abfrage Lö _
schen ?") = vbYes Then
l = .Range("A3").End(xlDown).Row
.Range(.Cells(3, 1), .Cells(l, 38)).ClearContents
Else
.Range("A3").Select
End If
End With

gruss hary

AW: ja,..
14.02.2014 11:26:34
Matze
Hi Hary,
l = Range("a3").End(xlDown).Row 'ergibt doch sowieso immer 3
und vorher wird die Zelle A3 immer selectet, also ist die Else nicht nötig
das ganze Konstrukt ist Banane.
Aber egal, wir wissen nicht genau was Walter vorhat und ich glaube auch nicht das so ein Code aus dem Forum ist. Hat was von Teilen die mit Recorder aufgezeichnet wurden.
So ich darf in die Spätschicht, goodby
Matze

Anzeige
AW: vlt so
14.02.2014 11:50:26
hary
Moin
@Matze, viel Spass, hab' Urlaub. :-))))
Dim l As Long
Dim Z As Long
Dim zz As Long
Dim verg As String
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = Sheets("Datenbank-Auswahl")
Set wksZ = Sheets("Test_Druck")
If MsgBox(" Sollen die 'alten' Daten gelöscht werden ? " & Chr(13), 32 + vbYesNo, "Abfrage Lö _
schen ?") = vbYes Then
l = wksZ.Range("A3").End(xlDown).Row
wksZ.Range(wksZ.Cells(3, 1), wksZ.Cells(l, 38)).ClearContents
Else
wksZ.Activate
wksZ.Range("A3").Select
Exit Sub
End If
verg = Left(wksQ.Cells(1, 2), 5)
Z = 3 ' Startzeile für Schleife (hier 3)
Do While wksQ.Cells(Z, 1)  "" ' Start der Schleife
If Left(wksQ.Cells(Z, 11), 5) = verg Then
zz = IIf(wksZ.Cells(wksZ.Rows.Count, 1).End(xlUp).Row + 1 

gruss hary

Anzeige
Super Danke ! -)
14.02.2014 14:09:05
walter
Hallo Matze,
hallo Hary,
das Makro von Hary funktioniert !
Danke,
gruß Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige