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

select range if cellvalue =1

select range if cellvalue =1
09.03.2009 15:47:00
patrick
Hallo ich hab wieder eine frage an die excel und VBA profis:
ich möchte gerne ein makro dass mir einen bereich markiert wenn in einer bestimmten spalte ein bestimmter wert drin steht.
dh: zb:
wenn in einer zelle der spalte C85 eine "1" steht dann markiere den bereich B85:J85 oder wenn
in zellen: C50:60 eine "1" drin steht dann markiere B50:J60
(vorher passiert von mir über ein makro ein autofilter, damit auch wirklich nur die zellen in Spalte C mit "1" angzeigt werden.
bitte schaut euch dieses file an, da hab ich glaub ich ganz gut veranschaulicht, was ich mein.
https://www.herber.de/bbs/user/59970.xls
vielen dank
patrick

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
C85 ist eine ZELLE und KEINE Spalte! (owT)
09.03.2009 15:55:58
Renee

AW: C85 ist eine ZELLE und KEINE Spalte! (owT)
09.03.2009 16:06:35
D.Saster
Hallo,
da musst du vorher nichts filtern.

Sub kopieren()
Dim rngCopy As Range, rngC As Range
For Each rngC In Range(Cells(2, 3), Cells(Rows.Count, 3).End(xlUp))
If rngC = 1 Then
If rngCopy Is Nothing Then
Set rngCopy = rngC.Offset(0, -1).Resize(1, 11)
Else
Set rngCopy = Union(rngCopy, rngC.Offset(0, -1).Resize(1, 11))
End If
End If
Next
If Not rngCopy Is Nothing Then rngCopy.Copy Sheets(2).Cells(2, 1)
End Sub


Gruß
Dierk

AW: C85 ist eine ZELLE und KEINE Spalte! (owT)
09.03.2009 16:45:30
patrick
vielen dank.
aber eigentlich will ich es genau so haben, dass einfach nur der bereich markiert wird.
ich weiß es ist nicht besonders hübsch oder sauber, aber ich hab mir den rest des makros schon so hergerichtet, dass es genau für meine belange passt.
nochmals danke für die geschätzte hilfe!!!!
P
Anzeige
AW: C85 ist eine ZELLE und KEINE Spalte! (owT)
09.03.2009 16:43:37
patrick
danke für den wirklich schlauen kommentar! was sollen so unnötige statements?
Konsistenz ist das A&O der Programmierung! (owT)
09.03.2009 16:51:24
Renee

Ohne Select.... kopieren!
09.03.2009 16:06:45
Renee
Hi Patrick,
.SELECT und .ACTIVATE in VBA Makros sind verpönt und unnötig:
so (nach dem Filtern):

Sub CopyOhneSelect()
ActiveSheet.Rows("3:" & ActiveSheet.Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Row).Copy _
Destination:=Worksheets("Sheet2").Range("A2")
End Sub


GreetZ Renée
AW: Ohne Select.... kopieren!
09.03.2009 16:52:40
patrick
hi,
danke auch dir für die hilfe, aber es ist leider nicht das was ich brauche.
ich brauch echt nur die gefilterten ergebnisse markiert. vielen dank
Pat
Anzeige
AW: Ohne Select.... kopieren!
09.03.2009 17:01:30
Renee
Hi Patrick,
Du tust mir leid...

Sub ScheiSelect()
ActiveSheet.Range("B3:L30").SpecialCells(xlCellTypeVisible).Select
End Sub


GreetZ Renée

AW: Ohne Select.... kopieren!
10.03.2009 14:33:05
patrick
ich überles mal den präpotenten kommentar geh aber gern auf dein sch**makro ein
was wär wenn in meiner beispiel-datei nicht 30 sondern 50 zeilen befüllt wären und in zeile 49 ein 1er steht?
dann kann ich mit der range von (B3:L30) nix anfangen.
ich hab mir gedacht, dass eine generische lösung eh klar ist.
ich kann halt leider ned coden, aber gibts ned sowas wie
for each c=1 select range from L zu L
:o)
Anzeige
AW: Ohne Select.... kopieren!
10.03.2009 14:40:11
Renee
Hi Generiker,...

Sub ScheiSelect()
ActiveSheet.Range("B3:L" & ActiveSheet.Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Row) _
.SpecialCells(xlCellTypeVisible).Select
End Sub


GreetZ Renée
AW: Ohne Select.... kopieren!
10.03.2009 15:01:50
patrick
danke für die geduld.
so kann ichs verwenden.
AW: select range if cellvalue =1
09.03.2009 16:08:34
mpb
Hallo Patrick,
bezogen auf Deine Beispieldatei:

Sub Gefilterte_Zeilen_kopieren()
Set MeinBereich = Range("B3:L30") 'Bereich ggf. anpassen
MeinBereich.SpecialCells(xlCellTypeVisible).Copy Destination:=Worksheets("Sheet2").Range("A1")
'Zieltabelle (Sheets2) und  Zielzelle (A1) ggf. anpassen
End Sub


Gruß
Martin

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige