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

VBA - Befehl für mehrere Zellen =

VBA - Befehl für mehrere Zellen =
11.07.2016 06:36:24
Jörg

Hallo,
ich habe z.B. folgenden VBA Befehl:
Case "A15"
If Rows("22:24").Hidden Then
Rows("22:24").Hidden = False
Else
If Rows("25:28").Hidden Then Rows("22:24").Hidden = True
End If
Dieser Befehl wiederholt sich bei A26, A37, A48,... und der Bereich ist immer gleich weit weg !
Wie kann ich das zusammen fassen ?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Befehl für mehrere Zellen =
11.07.2016 07:36:54
MCO
Guten Morgen!
Probier das mal...
Gruß. MCO
Sub ausblenden()
rw_ini = 15 'Anfangswert
Do 'Schleife
rws1 = CStr(x + 7 & ":" & x + 9) 'Zeilenfestlegung 1
rws2 = CStr(x + 10 & ":" & x + 14) 'Zeilenfestlegung 2
If Rows(rws1).Hidden Then
Rows(rws1).Hidden = False
ElseIf Rows(rws2).Hidden Then Rows(rws1).Hidden = True
End If
rw_ini = rw_ini + 11 'jeweils + 11
Loop While rw_ini < 100 'Schleife bleibt, solange < 100 Zeilen
End Sub

AW: VBA - Befehl für mehrere Zellen =
11.07.2016 09:09:09
baschti007
Guten Morgen =)
Täusche ich mich oder sollte bei dem Code das X durch rw_ini ersetzt werden weil sonst macht das ja keinen Sinn :) und die 14 durch eine 13 ersetzen weil 15-28 = 13 oder?
Gruß Basti

Anzeige
AW: VBA - Befehl für mehrere Zellen =
11.07.2016 09:11:49
baschti007
Hier noch eine andere Variante kannst ja mal gucken ob das so passt gruß Basti
Sub ausblenden()
Dim rng
Dim x As Long
rng = Array("A15", "A26", "A37", "A48")
maxanzahl = UBound(rng)
For x = 0 To maxanzahl
If Rows(Range(rng(x)).Row + 7 & ":" & Range(rng(x)).Row + 9).Hidden Then
Rows(Range(rng(x)).Row + 7 & ":" & Range(rng(x)).Row + 9).Hidden = False
Else
If Rows(Range(rng(x)).Row + 10 & ":" & Range(rng(x)).Row + 13).Hidden Then
Rows(Range(rng(x)).Row + 7 & ":" & Range(rng(x)).Row + 9).Hidden = True
End If
End If
Next
End Sub

AW: VBA - Befehl für mehrere Zellen =
11.07.2016 12:22:41
Daniel
Hi
ich nehme mal an, das xx die Variable ist, die den Text "A15" oder "A26", "A37"
bei einigen wenigen betroffen Werten:
Select Case xx
Case "A15", "A26", "A37", "A48"
With Range(xx).Offset(7, 0).Resize(3, 1).EntireRow
.Hidden = Not(.Hidden)
end with
Case Else
End Select
bei vielen betroffen Werten und wenn man davon ausgeht, dass der Abstand immer 11 ist:
if Left(xx, 1) = "A" Then
if Clng(Mid(xx, 2)) Mod 11 = 4 Then
if Clng(Mid(xx, 2) >=15 Then
With Range(xx).Offset(7, 0).Resize(3, 1).EntireRow
.Hidden = Not(.Hidden)
end with
end if
end if
end if
Gruß Daniel

Anzeige
AW: VBA - Befehl für mehrere Zellen =
12.07.2016 08:20:30
Jörg
Hallo,
ich glaube ich mache etwas falsch.
Es kommt immer ein Fehler bei xx (Variable nicht definiert)!?
Wie definiere ich xx ?

AW: VBA - Befehl für mehrere Zellen =
12.07.2016 12:29:10
baschti007
So vielleicht ?
Sub Bla()
Dim xx As String
xx = Application.InputBox("Sample", "hallo")
Select Case xx
Case "A15", "A26", "A37", "A48"
With Range(xx).Offset(7, 0).Resize(3, 1).EntireRow
.Hidden = Not (.Hidden)
End With
Case Else
End Select
End Sub

AW: VBA - Befehl für mehrere Zellen =
12.07.2016 15:24:13
Daniel
Hi
das xx habe ich für das eingesetzt, was du uns verschwiegen hast, nämlich die Zeile Select Case ??? die zum Case "A15" gehört.
was du da verwendet hast, kann ich nicht wissen, also habe ich einfach mal xx genommen, weil irgendwas muss ich nehmen, um halbwegs sinnvollen Beispielcode schreiben zu können.
Setze das xx das Richtige ein, dann funktionert es.
Gruß Daniel

Anzeige
AW: VBA - Befehl für mehrere Zellen =
13.07.2016 07:23:04
Jörg
Hallo,
AH! War keine Absicht!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
Select Case Target.Address
Habe ich nur vergessen, das dass dazugehört!
Vielen Dank.

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige