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-ID: 96476

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

Ausgedruckt am: 06.11.2024 um 02:11 Uhr

bastla
bastla 09.09.2008 um 14:59:27 Uhr
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
wachsi08
wachsi08 10.09.2008 um 06:13:16 Uhr
Goto Top
SUPER, es hat wunderbar geklappt

DANKE bastla
wachsi08
wachsi08 11.09.2008 um 13:21:03 Uhr
Goto Top
Bastla,

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

MfG
bastla
bastla 11.09.2008 um 14:52:35 Uhr
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
wachsi08
wachsi08 12.09.2008 um 09:33:37 Uhr
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
bastla
bastla 13.09.2008 um 12:08:12 Uhr
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