Microsoft Excel

Herbers Excel/VBA-Archiv

In Spalte B einen Wert mittels VBA setzen | Herbers Excel-Forum


Betrifft: In Spalte B einen Wert mittels VBA setzen von: Josef
Geschrieben am: 21.01.2010 13:57:36

Hallo!

Ich habe nur in der Zelle B1 den Wert "ü" stehen.
Ab der 2.Zeile habe ich ca. 15000 Datensätze stehen.

Mit dem Autofilter suche ich jetzt nach dementsprechenden Werten in anderen Spalten.

Wenn jetzt z. B. 10 Werte gefunden werden, habe ich nun 10 Datensätze und möchte in der Spalte B in jeder dieser Zeilen ein "ü" setzen.

Wie würde hier bitte eine VBA Lösung aussehen?

Ich wäre für eine Hilfe dankbar.

Danke

Josef

  

Betrifft: AW: In Spalte B einen Wert mittels VBA setzen von: JoWE
Geschrieben am: 21.01.2010 14:36:58

Hallo Josef,

vllt. so:

Sub set_ü_if_Filter_gleich_true()
    Dim c As Object
    Dim r As Range
    Set r = ActiveSheet.Range("B2:B" & [B65536].End(xlUp).Row)
    For Each c In r
        If Rows(c.Row).Hidden = False Then
            c.Value = "ü"
        End If
    Next
End Sub

Gruß,
Jochen


  

Betrifft: AW: In Spalte B einen Wert mittels VBA setzen von: Josef
Geschrieben am: 21.01.2010 14:56:42

Hallo Jochen!

Danke für Deine Antwort.

Leider funktioniert es nicht. Es wird nur ein ü in B2 eingetragen. Danach nichts mehr.

Josef


  

Betrifft: AW: In Spalte B einen Wert mittels VBA setzen von: Tino
Geschrieben am: 21.01.2010 15:24:19

Hallo,
versuche es mal so.

Dim Bereich As Range
Set Bereich = Range("B2", Cells(Rows.Count, 2).End(xlUp))
Set Bereich = Bereich.SpecialCells(xlCellTypeVisible)
Bereich.Value = "ü"
Gruß Tino


  

Betrifft: AW: In Spalte B einen Wert mittels VBA setzen von: Josef
Geschrieben am: 21.01.2010 19:25:59

Hallo Tino!

Danke für Deine Antwort. Werde es gleich morgen in der Früh probieren.

Josef


  

Betrifft: AW: In Spalte B einen Wert mittels VBA setzen von: JoWE
Geschrieben am: 21.01.2010 15:30:38


Makro funktioniert nur richtig, wenn die Tabelle schon gefiltert wurde.
Dann wird in allen noch sichtbaren Zellen der Spalte B ein "ü" eingetragen.
Bei mir (xl2003) klappt das hervorragend:
Zuerst der Inhalt der kompletten Spalte (Autofilterschaltfläche in B1),
Tabelle1

 ABC
1 Ü 
2 a22 
3 a23 
4 a24 
5 a25 
6 a26 
7 a27 
8 a28 
9 a29 
10 a30 
11 a31 
12 a32 
13 a33 
14 a34 
15 a35 
16 a36 
17 a37 
18 a38 
19 a39 
20 a40 
21 a41 
22 a42 
23 a43 
24 a44 
25 a45 
26 a46 
27 a47 
28 a48 
29 a49 
30 a50 
31 a51 
32 a52 
33 a53 
34 a54 
35 a55 
36 a56 
37 a57 
38 a58 
39 a59 
40 a60 
41 a61 
42 a62 
43 a63 
44 a64 
45   
46   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

jetzt gefiltert; über Daten, Filter, Autofilter : enthält 3
Tabelle1

 ABC
1 Ü 
3 a23 
10 a30 
11 a31 
12 a32 
13 a33 
14 a34 
15 a35 
16 a36 
17 a37 
18 a38 
19 a39 
23 a43 
33 a53 
43 a63 
45   
46   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

und schließlich das Ergebnis, nachdem auf die gefilterte Liste das Makro
Sub set_ü_if_Filter_gleich_true()
    Dim c As Object
    Dim r As Range
    Set r = ActiveSheet.Range("B2:B" & [B65536].End(xlUp).Row)
    For Each c In r
        If Rows(c.Row).Hidden = False Then
            c.Value = "ü"
        End If
    Next
End Sub

gestartet wurde:
Tabelle1

 ABC
1 Ü 
3 ü 
10 ü 
11 ü 
12 ü 
13 ü 
14 ü 
15 ü 
16 ü 
17 ü 
18 ü 
19 ü 
23 ü 
33 ü 
43 ü 
45   
46   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß
Jochen


  

Betrifft: AW: In Spalte B einen Wert mittels VBA setzen von: Josef
Geschrieben am: 21.01.2010 19:26:48

Hallo Jochen!

Danke für Deine Antwort. Werde es gleich morgen in der Früh probieren.

Josef


Beiträge aus den Excel-Beispielen zum Thema "In Spalte B einen Wert mittels VBA setzen "