wachsi08
Goto Top

nur 4 Spalten einer Zelle markieren mit einem Mausklick

nur 4 Spalten einer Zelle markieren mit einem Mausklick

Hi @ll

ich möchte mal gern wissen ob es funktioniert, wenn ich z.B. A2 anklicke das automatisch B2;C2;D2 markiert werden, damit ich die
mit meinem Makro kopieren kann

MfG

Content-Key: 96476

Url: https://administrator.de/contentid/96476

Printed on: April 19, 2024 at 01:04 o'clock

Member: bastla
bastla Sep 09, 2008 at 12:59:27 (UTC)
Goto Top
Hallo wachsi08!

Eigentlich sollte folgende Zeile im "Kopiermakro" genügen:
If Selection.Count = 1 Then Selection.Resize(1, 4).Select
Grüße
bastla
Member: wachsi08
wachsi08 Sep 10, 2008 at 04:13:16 (UTC)
Goto Top
SUPER, es hat wunderbar geklappt

DANKE bastla
Member: wachsi08
wachsi08 Sep 11, 2008 at 11:21:03 (UTC)
Goto Top
Bastla,

kann man diese Markierung so erweitern das ich nicht nur 1 sonderen meherere Zellen markieren kann z.B. durch Strg????

MfG
Member: bastla
bastla Sep 11, 2008 at 12:52:35 (UTC)
Goto Top
Hallo wachsi08!

Die Reihenfolge wäre allerdings anders herum - Beispiel:
For Each Area In Selection.Areas
    If Area.Count = 1 Then
        Area.Resize(1, 4).Select
        MsgBox "Bereich ab " & Area.Address  
    Else
        MsgBox "Die Markierung ab " & Area.Address & " enthielt bereits mehrere Zellen."  
    End If
Next
Wenn Du hier als Voraussetzung mehrere einzelne Zellen (mit Strg) markiert hast, wird dann für jede dieser Zellen die Markierung erweitert und (zu Demozwecken) eine MsgBox angezeigt. Anstelle dieser "MsgBox"-Zeile müsstest Du dann Deinen Makroaufruf platzieren ...

Grüße
bastla
Member: wachsi08
wachsi08 Sep 12, 2008 at 07:33:37 (UTC)
Goto Top
hi bastla,

ich hab deine abfolge mal ausprobiert und ich muss sagen so richtig komm ich nicht zum Ziel

ich kann die markierten zellen nicht einfügen,es gibt dauernd einen fehler

anbei die abfolge

Sub Markieren_der_Zellen()


For Each Area In Selection.Areas
If Area.Count = 1 Then
Area.Resize(1, 7).Select -->> in dieser Zeile erhalte ich immer einen Fehler, WARUM
If Selection.Count = 1 Then Selection.Resize(1, 7).Select

'MsgBox "Bereich ab " & Area.Address

Selection.Copy
Sheets("24 V Leistung").Select
ActiveSheet.Select


'Else
'MsgBox "Die Markierung ab " & Area.Address & " enthielt bereits mehrere Zellen."
End If
Next


'If Selection.Count = 1 Then Selection.Resize(1, 7).Select
'Selection.Copy
'Sheets("24 V Leistung").Select
'ActiveSheet.Select

Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False


End Sub

ich muss dazu sagen das ich im Excel keine so tiefgreifenden kenntnisse besitzte, aber ich bin am lernen
Member: bastla
bastla Sep 13, 2008 at 10:08:12 (UTC)
Goto Top
Hallo wachsi08!

Wenn Du ohnehin nur die Werte übernehmen willst, könntest Du den Umweg über die Zwischenablage eigentlich einsparen:
Sub Markieren_der_Zellen()
For Each Bereich In Selection.Areas
    If Bereich.Count = 1 Then 
        Sheets("24 V Leistung").Range("A65536").End(xlUp).Offset(1, 0).Resize(1, 7).Value = Bereich.Resize(1, 7).Value  
    Else
        MsgBox "Die Markierung ab " & Bereich.Address & " enthielt mehrere Zellen;" & vbCrLF & "diese Daten wurden nicht übertragen."  
    End If
Next
End Sub
Grüße
bastla