2009-09-29 9 views
-3

J'ai un gros problème dans le moment. Je dois trier une feuille Excel avec des noms. Il y a toujours un prénom et un nom qui se suivent dans le même ordre. Chaque nom remplit une cellule. Ces cellules sont alignées en une ligne. ExempleVisualBasic (ou Applescript) Excel feuille de tri avec des noms

Bill | Cospy | James | Bond | George | Clony | Michael | Jacksson

Maintenant, je veux que chaque prénom et deuxième nom sont résumées dans une cellule, puis le prochain prénom et deuxième nom sont pris pour la même procédure. Le résultat devrait être ceci:

Bill Cospy
James Bond
George Clony
Michael Jackson

Quelqu'un peut-il me écrire le script qui fait cela?

(je prends Visual Basic ou AppleScript, il n'a pas d'importance) quelqu'un

+1

Pouvez-vous écrire un script pour cela? Vous n'allez pas essayer vous-même de demander à quelqu'un de le faire pour vous? – Gratzy

+0

Je suis d'accord, cela ressemble à une demande pour une fonctionnalité complète n'aide pas sur la façon d'accomplir une tâche spécifique. –

+0

Désolé de demander si utiliser mais je suis sous la pression du temps et je ne sais pas comment écrire un script VB bien. J'essaie en ce moment d'en écrire un mais sans les bases je ne réussirai que dans une semaine et j'ai besoin d'une solution très urgente au problème. Je suis donc venu dans cette communauté dans l'espoir que quelqu'un ferait une exception et m'aiderait dans cette mauvaise situation. – elhombre

Répondre

2

Dans Excel VBA

Dim curRow As Integer 
Dim curCol As Integer 

curRow = 1 
curCol = 1 

For Each c In Range("1:1") 'target row number' 

    If c.Value = "" Then 'we have hit a blank cell in target row' 
     Exit Sub 
    End If 

    Cells(curRow, curCol).Value = c.Value 

    curCol = curCol + 1 
    If curCol = 3 Then 
     curRow = curRow + 1 
     curCol = 1 
    End If 

Next c 
+0

Merci beaucoup pour votre coopération utile dans cette situation délicate! Vous êtes un véritable sauveur en direct;) – elhombre

Questions connexes