Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
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 beschwindeln?

VBA beschwindeln?
07.12.2016 11:28:31
Lorenz
Hallo,
Ist es möglich wenn z.B. im Tabellenblatt a1:g1 markiert ist, der Code aber arbeiten soll als wenn a1 + c1 + e1 + g1 (also jede zweite Zelle) markiert wären?
Wenn ja, wie?
Gruß
Lorenz

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA beschwindeln?
07.12.2016 11:40:12
Michael
Hi,
eine ganze Reihe von Befehlen (wie zum Beispiel kopieren/einfügen) geht nur mit zusammenhängenden Zellen; wenn Du nur jede zweite haben willst, bietet es sich an, den Bereich mit einer Schleife durchzugehen und nur jede gerade/ungerade Zeile zu verwenden.
Dazu sieh Dir mal die Hilfe von Mod an und probiere mit if (zeile mod 2) = 0 bzw. =1 herum.
Näheres, wenn Du ins Detail gehst bzw. einen Codeschnipsel postest.
Gruß,
Michael
AW: VBA beschwindeln?
07.12.2016 11:56:47
Lorenz
Hallo Michael
mit "Mode" , bzw. "for 1 to xx Step 2" leider erfolglos herumprobiert!!!!!
Hier gesamter Code (in UF verwendet)
Private Sub cmdPF_Click()
Dim Bereich As String, arrBereich As String, i As Integer
For i = 1 To Selection.Areas.Count
Bereich = Bereich & Selection.Areas(i).Address(False, False) & ", "
Next i
arrBereich = Left$(Bereich, Len(Bereich) - 2)
With Range(arrBereich)
For i = 1 To 3
If Cells(i, ActiveCell.Column) = 1 Then Exit Sub
Next
.Value = "PF"  '
Grüße
Lorenz
Anzeige
AW: VBA beschwindeln?
07.12.2016 12:33:05
Michael
Hi,
jetzt bin ich etwas verwirrt: Du hattest eingangs geschrieben: A1-G1, während jetzt eine Mehrfachselektion vorliegt, von der ich nicht weiß, wie die aussieht.
Am besten lädst Du eine Beispieldatei hoch und markierst mal händisch, worum es geht.
Schöne Grüße,
Michael
Aha
07.12.2016 13:41:37
Michael
Hi,
dann versuch mal das:
Private Sub cmdWiPF_Click()
Dim Bereich As String, arrBereich As String, i As Long
Dim PFs$(0, 1 To 50)
For i = 1 To 50
If (i And 1) = 1 Then PFs(0, i) = "PF"
Next
For i = 1 To Selection.Areas.Count
Bereich = Bereich & Selection.Areas(i).Address(False, False) & ", "
Selection.Areas(i) = PFs
Next i
arrBereich = Left$(Bereich, Len(Bereich) - 2)
With Range(arrBereich)
For i = 1 To 3
If Cells(i, ActiveCell.Column) = 1 Then Exit Sub
Next
'.Value = "PF"  '
Schöne Grüße,
Michael
Anzeige
AW: Aha
07.12.2016 14:06:21
Lorenz
Hallo Michael
JAAAA, du hast den Nagel auf den Kopf getroffen.
Funktioniert SUPER, einwandfrei!
vielen, vielen Dank
& Grüße
Lorenz
AW: Aha
07.12.2016 16:29:47
Lorenz
Hallo Michael
Ist es unverschämt von mir, eine Erweiterung zu erbitten?
Wie, bzw wo muß der Code hinein, um die "PF" in einer weiteren Tabelle eingetragen werden soll. Also so wie in deinem Code. Nur zusätzlich im Tabelle "Wert" eintragen.
Danke im Voraus.
Grüsse
Lorenz
AW: Aha
07.12.2016 18:47:02
Michael
Hi,
jetzt mal ungetestet:
For i = 1 To Selection.Areas.Count
Bereich = Bereich & Selection.Areas(i).Address(False, False) & ", "
Selection.Areas(i) = PFs
Sheets("Wert").Range(Selection.Areas(i).Address)=PFs
Next i
Gruß,
M.
Anzeige
AW: Aha
07.12.2016 19:23:02
Lorenz
Hallo Michael
Ein weiteres mal: Tausend Dank!!
Auch wenn ungetestet, funktioniert genau nach Wunsch!!
vielen Dank & Grüsse
Lorenz
gern geschehen,
07.12.2016 19:54:23
Michael
Lorenz,
viele Grüße zurück,
Michael

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige