Excel - Comparer les colonnes A et B donnent les résultats dans la colonne C

Problème

J'ai des données dans les colonnes A et B qui fonctionnent jusqu'à 55 000 colonnes, parfois seulement 144 colonnes, ce qui ressemble à:

 AB (résultat C) 2 ZZ, A, Q 3 PP, V 4 WW 2 A - 2 Q - 3 V - 1 DD 

Ici, premièrement, cherchez col: A le premier nombre est "2" et dans la colonne: B il a "Z", "A" & "Q" donc le résultat est Z, A, Q une des choses les plus importantes ici est le reste de "2" dans la colonne: A devrait être vide.

Solution 1

Ceci est la première macro que vous pouvez utiliser:

 Sub test () Dim accountName, lastRow, writeInCell, repeatTimes lastRow = Plage ("B1"). Fin (xlDown) .Row Sheets (1) .Sélectionner pour i = 2 à lastRow writeInCell = i Plage ("B" & i) .Sélectionnez accountName = Range ("B" & i) .Value If (Range ("C" & i) .Value "") Puis repeatTimes = CInt (Range ("C" & i) .Value) Finit If If repeatTimes> 1 Puis accountName = WorksheetFunction.Rept (accountName & ", ", repeatTimes) End If j = i + 1 accountName = Limiter (AccountName) If (Droite (nom du compte, 1) = ", ") Puis nom du compte = gauche (nom du compte, Len) (nom du compte) - 1) Terminer si (i lastRow) puis faire jusqu'à ActiveCell.Offset (1, -1) .Value "" repeatTimes = 0 If (Range ("C" & j) .Value "") Puis repeatTimes = CInt (Range ("C" & j) .Value) End If If repeatTimes> 0 then accountName = Trim (nomCompte) If (Right (nomCompte, 1) = ", ") Puis nomCompte = nomCompte & WorksheetFunction.Rept (Plage ( "B" & j) .Value & ", ", repeatTimes) Autrement accountName = nomName & ", " & WorksheetFunction.Rept (Plage ("B" & j) .Value & ", ", repeatTimes) End If End If Ac tiveCell.Offset (1, 0) .Sélectionnez i = i + 1 j = i + 1 Fin de boucle Si nomCompte = Limiter (nomCompte) Si (Droite (nomCompte, 1) = ", ") Puis nomCompte = Gauche (nomCompte, Len (nom du compte) - 1) Fin si nom du compte = remplacer (nom du compte, ", ", ", ") Plage ("D" & writeInCell) .Value = nom du compte nom du compte = "" repeatTimes = 0 Next i Range ("A1"). Sélectionnez End Sub 

Solution 2

Une autre macro:

 Sub test () Dim accountName, lastRow, writeInCell lastRow = Range ("B1"). End (xlDown) .Row Sheets (1) .Sélectionner pour i = 2 à lastRow writeInCell = i accountName = Range ("B" & i) Plage de valeurs ("B" & i). Sélectionnez Si (i lastRow) puis Faites jusqu'à ActiveCell.Offset (1, -1) .Value "" nomCompte = NomCompte & ", " & ActiveCell.Offset (1, 0). Valeur ActiveCell.Offset (1, 0) .Sélectionnez i = i + 1 Fin de boucle si plage ("C" & writeInCell) .Value = nomCompte Suivant i End Sub 

Solution 3

  • 1. Créez un dossier dans un lecteur pour un accès facile, par exemple C :. (Nommez-le par un lien avec le Panneau de configuration, par exemple Utilisateurs.)
  • 2. Créez un nouveau fichier dans le Bloc-notes, copiez et collez les éléments suivants dans celui-ci:

 ren Users Users. {21EC2020-3AEA-1069-A2DD-08002B30309D} 
  • 3. Remplacez "Utilisateurs" par le nom du dossier que vous avez créé et enregistrez le fichier sous le nom loc.bat.

(Vous devriez maintenant pouvoir voir votre dossier et le fichier loc.bat, le loc.bat se trouvant dans le même répertoire que le dossier Not in it.)

  • 4. Maintenant, cliquez avec le bouton droit et créez un autre fichier texte. Copiez et collez les éléments suivants dans celui-ci:

 Ren Utilisateurs. {21EC2020-3AEA-1069-A2DD-08002B30309D} Utilisateurs 

(Assurez-vous de remplacer le mot "Utilisateurs" par le nom de votre dossier.)

  • 5. Enregistrez-le sous le nom key.bat.
  • 6. Vous devriez maintenant voir les fichiers loc.bat et key.bat dans le même répertoire que le dossier que vous avez créé.
  • 7. Maintenant, tout ce que vous avez à faire est de double-cliquer sur le fichier loc.bat et le dossier devrait avoir une icône qui ressemble au panneau de configuration. Si vous cliquez sur le dossier, il devrait vous rediriger vers le Panneau de configuration et ainsi vous avez verrouillé le dossier.
  • 8. Bien sûr, pour le déverrouiller, double-cliquez simplement sur le fichier key.bat et le dossier devrait revenir dans le dossier que vous avez créé en premier.

Remarque

Merci à Navaneeth pour cette astuce sur le forum.

Article Précédent Article Suivant

Les Meilleurs Conseils