PDA

Vollständige Version anzeigen : VBA gefilterte Zeile ab Spalte H bis zum Ende markieren... Will einfach nicht...


Mike1977
28.02.2008, 13:40
Juhu,

also, habe schon ne Menge mit Makros angestellt, aber irgendwie habe ich nen Brett vorm Kopf (war gestern auch wieder viel zu spät ;-) )

Das will nicht. Offset, Range, Cells, Selection.End ist mir alles nen Begriff, aber... heute klappt einfach nichts.


Ich filtere nach einem bestimmten Wert. Heraus kommt explizit nur eine Zeile. In dieser Zeile möchte ich ab Spalte H bis zum letzten Eintrag der Zeile die Werte kopieren. Kann mir da mal jemand flux auf die Sprünge helfen?

LG
Mike

IngGi
28.02.2008, 13:53
Hallo Mike,

versuch's mal so (Überschriften in Zeile 1, Filterbereich ab A2):
<FONT Color=Black FACE="Courier New,FixedSys" Size=2>
<Blockquote>
<FONT COLOR=#0000FF>Dim</FONT>&nbsp;rng&nbsp;<FONT COLOR=#0000FF>As</FONT>&nbsp;Range
<FONT COLOR=#0000FF>For&nbsp;Each</FONT>&nbsp;rng&nbsp;<FONT COLOR=#0000FF>In</FONT>&nbsp;Range("A1:A"&nbsp;&amp;&nbsp;Cells(Rows.Count,&nbsp;1).End(xlUp).Row)
&nbsp;&nbsp;<FONT COLOR=#0000FF>If</FONT>&nbsp;rng.EntireRow.Hidden&nbsp;=&nbsp;<FONT COLOR=#0000FF>False&nbsp;Then</FONT>
&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR=#0000FF>Exit&nbsp;For</FONT>
&nbsp;&nbsp;<FONT COLOR=#0000FF>End&nbsp;If</FONT>
<FONT COLOR=#0000FF>Next</FONT>&nbsp;<FONT COLOR=#008000>'rng</FONT>
Range(Cells(rng.Row,&nbsp;"H"),&nbsp;Cells(Columns.Count,&nbsp;rng.Row).End(xlToLeft)).Copy

<FONT Size=2>
<p>Code eingefügt mit <b><a href="http://rtsoftwaredevelopment.de" target="_blank">Syntaxhighlighter 4.14</a></b></FONT></p>
</Blockquote><FONT FACE="Arial,FixedSys"Size=3>
Gruß Ingolf

Mike1977
28.02.2008, 15:04
Hi,

also erstmal danke für Deine Hilfe!! Aber Deinen Code in eine schnell zusammen geschusterte Test-Tabelle (um andere Fehlerquellen zu vermeiden) übernommen ergibt:

Markiere ALLE sichtbaren Zeilen (auch ohne Inhalt) BIS einschl. Spalte H.

Leider also nicht das, was ich brauche... :-(

jinx
28.02.2008, 17:48
<font size="2" face="Century Gothic">Moin, Mike1977,

SpecialCells(xlCellTypeVisible) nutzen ab der Reihe unter den Überschriften/Filterkriterien und per WorksheetFunction.Count die Zahl der angezeigten Datensätze feststellen...</font>

IngGi
28.02.2008, 21:17
Hallo Mike,

zwei Fehler entdeckt und bereinigt:
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Dim</span> rng <span class="TOKEN">As</span> Range
<span class="TOKEN">For</span> <span class="TOKEN">Each</span> rng <span class="TOKEN">In</span> Range(&quot;A2:A&quot; &amp; Cells(Rows.Count, 1).End(xlUp).Row)
<span class="TOKEN">If</span> rng.EntireRow.Hidden = <span class="TOKEN">False</span> <span class="TOKEN">Then</span>
<span class="TOKEN">Exit For</span>
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Next</span> <span class="REM">'rng</span>
Range(Cells(rng.Row, &quot;H&quot;), Cells(rng.Row, Columns.Count).End(xlToLeft)).Copy
&nbsp;</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Gruß Ingolf